繁体   English   中英

字符串到小数,始终显示两个小数

[英]string to decimal showing always two decimals

我有这个字符串“ 121,121.00”,我需要转换为十进制形式才能将此前端的“ 121121.00”提供给前端。 我已经尝试了很多,但还不能做。 这是我尝试过的一些代码,它们给了我结果:

string var = "121,121.00"

decimal d = decimal.Parse(var, NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint);
// it gives me '12112100'  

decimal d = decimal.Parse(var, NumberStyles.Currency);
// it gives me '12112100' 

decimal d = decimal.Parse((var.Replace(",","")), NumberStyles.Currency);
// and it gives me '12112100' too

十进制只有一个值,您将其与可以以所需格式显示数字的字符串混淆。 您可以将d.ToString("0.00)"CultureInfo.InvariantCulture

string var = "121,121.00";
decimal number = decimal.Parse(var, CultureInfo.InvariantCulture);
string result = number.ToString("0.00", CultureInfo.InvariantCulture);

数字没有尾随零的小数。

如果要以某种方式显示它们(而不是仅使用它们),则需要将它们转换为字符串,即number.ToString("0.00")但是,这有点有趣,因为您以字符串开头首先。

简单的单步过程-直接将小数解析为:

var decimalValue = decimal.Parse(decimalString);

因此, decimal.Parse("121,121.00")将返回一个decimal value - 121121.00 完全不必担心字符串和cultureinfo。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM