如何在Powershell中计算给定小数的小数位数?
$a = 0.0001
$b = 0.000001
转换$a
为字符串并返回$a.Length
结果为6 ...我需要4。
我以为会有一个十进制或数学函数,但我还没有找到它,弄乱一个字符串似乎不太优雅。
也许有更好的数学方法,但我会发现像这样的小数位:
$a = 0.0001
$decimalPlaces = ("$a" -split '\.')[-1].TrimEnd('0').Length
基本上,将.
字符拆分为字符串,然后获取数组中最后一个字符串的长度。用$a
双引号引起的隐式调用.ToString()
具有不变的区域性(您可以将其扩展为$a.ToString([CultureInfo]::InvariantCulture)
),从而使该方法可以确定区域性不变的小数位数。
.TrimEnd('0')
如果$a
来自字符串而不是正确的数字类型,则使用,可能会包含不计为小数位的尾随零。但是,如果要缩放而不是仅使用小数位,则可以.TrimEnd('0')
这样:
$decimalPlaces = ("$a" -split '\.')[-1].Length
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句