计算给定小数的小数位数

费利克斯

如何在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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章