格式化小数以删除尾随零并具有千分之一分隔符
Format a decimal to remove trailing zeros and have a thousandths separator
我目前有代码可以根据 SQL 查询求和计算小数值。我希望将此值格式化为在需要时具有 2 个小数位,在为整数时为 0。除此之外,我还想保留千分位分隔符。
示例:
string value1 = "1234.00"
string value2 = "1234.56"
//my goal
//parsed = 1,234
//parsed2 = 1,234.56
我尝试了多种格式变体,但都没有成功。正确的语法是什么?
非常感谢。
首先要注意的是,您不能将字符串正确格式化为数字,它们必须是数字类型。如果需要,您可以使用 double.TryParse
/ double.Parse
从字符串创建数字类型。
但是您要查找的格式是 #,000.##
var value1 = 1234.00;
var value2 = 1234.56;
var format = "#,###.##";
Console.WriteLine(value1.ToString(format)); // 1,234
Console.WriteLine(value2.ToString(format)); //1,234.56
实例:https://dotnetfiddle.net/YoYcP0
custom numeric format strings and standard numeric format strings
的全部详情
我目前有代码可以根据 SQL 查询求和计算小数值。我希望将此值格式化为在需要时具有 2 个小数位,在为整数时为 0。除此之外,我还想保留千分位分隔符。
示例:
string value1 = "1234.00"
string value2 = "1234.56"
//my goal
//parsed = 1,234
//parsed2 = 1,234.56
我尝试了多种格式变体,但都没有成功。正确的语法是什么?
非常感谢。
首先要注意的是,您不能将字符串正确格式化为数字,它们必须是数字类型。如果需要,您可以使用 double.TryParse
/ double.Parse
从字符串创建数字类型。
但是您要查找的格式是 #,000.##
var value1 = 1234.00;
var value2 = 1234.56;
var format = "#,###.##";
Console.WriteLine(value1.ToString(format)); // 1,234
Console.WriteLine(value2.ToString(format)); //1,234.56
实例:https://dotnetfiddle.net/YoYcP0
custom numeric format strings and standard numeric format strings
的全部详情