簡體   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