[英]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.