无论数值是什么(我有一个需要适合的文档),我正在尝试将浮点数打印到一定长度。我正在使用PowerShell,但我还没有发现任何有用的东西。使用PowerShell格式化浮点数到一定长度
如果包含小数点,则最多可以有6位数字。
这是我正在寻找下面。
17.12356 => 17.1236
189.12345 => 189.123
12345 => 12345.0
122909808 => 122909(我有没有虽然是正确的方式来展现这种情况下,建议将是有帮助)
无论数值是什么(我有一个需要适合的文档),我正在尝试将浮点数打印到一定长度。我正在使用PowerShell,但我还没有发现任何有用的东西。使用PowerShell格式化浮点数到一定长度
如果包含小数点,则最多可以有6位数字。
这是我正在寻找下面。
17.12356 => 17.1236
189.12345 => 189.123
12345 => 12345.0
122909808 => 122909(我有没有虽然是正确的方式来展现这种情况下,建议将是有帮助)
G格式说明符会将您的号码截断为指定的有效数字位数,但不会有任何小数字的前向零填充。下面的代码给出了你可能得到的各种类型的数字和5位有效数字(允许小数点的6个字符)的例子。请注意,对于非常大或小的数字,您会得到'科学'符号,这显然会比6个字符宽。对于这些情况,您需要找到大数字并将“E”移动到左侧至少4个空格处,但这样会丢失很多细节。直到你想要牺牲什么,真的。
PS > @(12345.678,123.45678,12345678,12345,123.4, 0.0) |%{"{0:G6}" -f $_} | %{if ($_.Leng
th -le7) {$_} else {$_.Substring(0,7)} }
12345.7
123.457
1.23457
12345
123.4
0.0
真棒谢谢多数民众赞成在我正在寻找。 – 2014-11-06 23:09:03
我尝试使用[数学] ::方法,也使用{0:N0}和其他数字格式工具。在这一点上,我只是想打印出6位数字(如果存在的话就是小数)。我将真实值输出给json,因此保持舍入不是非常重要。 – 2014-11-06 22:40:51