字符串格式:
“#0。##%;(#0。##%);”
上面将将double格式化为带有两个小数点的百分比字符串,如果它是负数则将其放入括号中,如果它为零则将其留空。
问题是,如果double值没有小数点,例如,如果值为2,则由于某种原因,结果字符串为“2%”而不是“2.00%”。
我的问题是:如何让它变为“ 2.00%”?
P.S。格式化在Syncfusion网格单元对象上发生,需要字符串掩码。
p.s.s。必须保持上面用斜体描述的现有功能。
答案 0 :(得分:2)
哈希表示可选字符。使用“#0.00%”(等)。
答案 1 :(得分:2)
您可以将字符串格式#0.00%用于2个数字位置。
“#”表示可选择显示数字,而“0”表示必须显示。在这种情况下(#0.00%)代表2个数字位置是强制性的,数字权利在“。”之前。也是强制性的。如果在“0”之前有任何数字,它将显示。否则,它不会因为这个数字是可选的。
e.g。 2 - > 2.00%
12 - > 12.00%
120 - > 120.00%
11.234 - > 11.23%
在这种情况下使用“P”或“P2”也可以正常工作。 “P”代表百分比,“2”代表数字位置的数量。 e.g。
double number = .2468013;
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture));
// Displays 24.68 %
Console.WriteLine(number.ToString("P",CultureInfo.CreateSpecificCulture("hr-HR")));
// Displays 24,68%
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture));
// Displays 24.7 %
您可以参考more details的MSDN。