如何让PowerShell脚本始终返回保留两位小数的数值?
解决PowerShell强制保留两位小数的简洁方案
嘿,你完全不用搞这么复杂的条件判断!其实PowerShell的格式字符串本身就能一次性搞定所有情况——不管你的数值是整数、一位小数还是两位小数,都能统一输出成保留两位小数的格式。
问题根源
你原来的代码用了取余(% 2)来判断,这完全是多余的操作,因为'{0:0.00}'这个格式说明符本身就具备强制保留两位小数的能力:
- 整数(比如1)会自动补成
1.00 - 一位小数(比如1.1)会补成
1.10 - 两位小数(比如1.11)保持原样
1.11
优化后的简洁代码
直接去掉所有条件判断,用一行代码搞定:
# 处理shippingprice $shippingpricestring = "$" + ('{0:0.00}' -f $shippingprice) # 同理处理itemprice $itempricestring = "$" + ('{0:0.00}' -f $itemprice)
格式说明符解释
'{0:0.00}'里的规则:
- 第一个
0:确保整数部分至少显示一位(即使数值是0也会显示) - 小数点后的两个
0:强制小数部分显示两位,不足的位置用0补齐
这样不管你的原始数值是什么样的,都能得到你想要的带两位小数的字符串结果,再也不用写复杂的条件分支啦!
内容的提问来源于stack exchange,提问作者Husko Mekan
相关产品推荐
相关产品推荐

