我在SQL服务器中以十进制形式存储各种不同的大小,例如:
10oz,3.3oz,100ml,1.75litres
当我将这个数字作为小数字输出并执行ToString()时,我会得到太多的额外数字,例如
10.000,3.300,100.00,1.750
我想要的基本上是这样的:
decimal.Parse("1.7500").ToString().TrimEnd('0', '.')
让我1.75
或10
我似乎无法找出格式字符串。
在Visual Studio调试器中,如果我decimal.Parse("1.7500")
它将以1.75
形式显示给我,但当我ToString()
时,它变为1.7500
。
Decimal.Round(...)并不好,因为格式不固定。
答案 0 :(得分:1)
这看起来有点奇怪,但确实有效:
var dec = 1.0004000m;
var str = dec.ToString("0;#############################.#############################");
在这种情况下,最好利用自定义格式化程序。
您始终可以在ToString
之外编写扩展方法,这样您就不必经常键入所有#。 '如果您需要数字分组,请在需要时插入适当的分组分隔符。
答案 1 :(得分:0)
Regex.Replace(decimal.Parse("1.7500").ToString(),"^(0+)|(?<=\.\d+)(0+)$")