PowerShell Double 类型
最后修改:2025 年 2 月 15 日
本教程介绍了 PowerShell 的 double 类型,这是一种用于十进制计算的 64 位浮点数字数据类型。Double 类型在处理大值范围的同时,为科学和金融运算提供精度。
double 类型 (System.Double) 以 IEEE 754 格式存储带小数点的数字。PowerShell 会自动将带小数点的数字解释为 double,但显式类型声明可确保脚本中数据的一致性。
声明 Double 变量
PowerShell 根据值推断数字类型。赋值小数点即可自动创建 double。
basic_double.ps1
$pi = 3.1415926535 [double]$gravity = 9.80665 Write-Output "Pi: $pi" Write-Output "Gravity: $gravity"
此脚本演示了隐式和显式 double 声明。两个变量都存储 64 位浮点值。
$pi = 3.1415926535
使用小数点值时,PowerShell 会自动分配 double 类型。
[double]$gravity = 9.80665
显式类型声明可确保即使稍后赋整数值,变量仍保持 double 类型。
算术运算
Double 支持标准算术运算。在复杂计算中请注意精度限制。
operations.ps1
$radius = 5.5 $area = [math]::PI * ($radius * $radius) Write-Output "Circle area: $area"
此代码使用 Math.PI 常量计算圆的面积。请注意结果的精度可达 15 位小数。
精度注意事项
Double 精度可能导致敏感计算中出现舍入错误。
precision.ps1
$sum = 0.1 + 0.2 $comparison = $sum -eq 0.3 Write-Output "0.1 + 0.2 equals 0.3? $comparison"
由于二进制表示,此比较返回 False。在金融计算中使用 decimal 类型以获得精确精度。
类型转换
使用类型转换或解析在数字类型之间进行转换。
conversion.ps1
$stringValue = "123.45" $doubleFromString = [double]::Parse($stringValue) $intToDouble = [double]42 Write-Output "Parsed: $doubleFromString" Write-Output "Integer to double: $intToDouble"
此代码演示了从字符串和整数类型安全转换为 double。
格式化 Double 输出
使用格式字符串控制小数点显示。
formatting.ps1
$temperature = 23.56789 Write-Output ("Formatted: {0:N2}°C" -f $temperature) Write-Output ("Scientific: {0:E3}" -f $temperature)
format 运算符 (-f) 可指定小数点位数和科学计数法。
来源
本教程介绍了 PowerShell 中 essential double 类型的操作。对于对精度要求很高的应用程序,请考虑使用 decimal 类型。请务必彻底测试浮点逻辑。
作者
列出 所有 PowerShell 教程。