Phi*_*ill 18 c# string-formatting
(找不到重复)
有谁知道原因:
http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx#PFormatString
'p'字符串格式为百分比,在用百分号进行格式化之前将值乘以100?
百分比("P")格式说明符
百分比("P")格式说明符将数字乘以100并将其转换为表示百分比的字符串.精度说明符表示所需的小数位数.如果省略精度说明符,则使用当前PercentDecimalDigits属性提供的默认数值精度.
反正是否有格式化之前阻止值乘以100?而不是做:
(value / 100).ToString("p")
Run Code Online (Sandbox Code Playgroud)
Str*_*ior 21
至于为什么,"百分比"的字面意思是"百分之一",所以50%在数学上等同于0.50
.至于格式化,为什么不添加百分号?
value + "%"
Run Code Online (Sandbox Code Playgroud)
......或类似的东西:
value.ToString("#.00\\%")
Run Code Online (Sandbox Code Playgroud)
你通常使用代码中的小数百分比,比如0.5
和1.0
,但是用户喜欢在最后添加百分号时看到漂亮的整数.
百分比表示"超出100
",显然您的小数百分比不在1
.因此, .ToString("p")
将您的数字乘以100
,然后附加百分号.
这只是定义.