[英]double.ToString(0.55, {en-US}) returns .55 - C#
我有一個returns
string
的method
。
在情況1中- return doubleVariable.ToString("0.55", {en-US})
返回0.55
// **I need 0.55**
在情況2中- return doubleVariable.ToString("0.00", {en-US})
返回一個empty string
// **I need 0.00**
任何提示如何擺脫這一點?
編輯:
方法
private string GetContent(
NumericUserVariable templateNumericUserVariable,
double doubleValue,
CultureInfo cultureInfo)
{
string placeholder = "#";
if (!templateNumericUserVariable.IsDecimal)
{
return doubleValue.ToString();
}
string decimalPlaces = placeholder;
if (templateNumericUserVariable.DecimalPlace > 0)
{
decimalPlaces = decimalPlaces.PadRight(
// templateNumericUserVariable.DecimalPlace - 1,
templateNumericUserVariable.DecimalPlace, '#');
return doubleValue.ToString(placeholder + "." + decimalPlaces, cultureInfo);
}
return doubleValue.ToString(placeholder, cultureInfo);
}
為了達到目標,您需要將#
字符更改為0
0表示將數字也放置在該位置(如果它是零值)
doubleVariable.ToString("0.00", cultureInfo);
您可以在此處閱讀有關自定義數字格式的信息
“ 0”-零占位符(如果存在)用相應的數字替換零; 否則,結果字符串中將出現零。
相反,您可以閱讀#
字符
“#”-數字占位符(如果存在)用相應的數字替換“#”符號; 否則,結果字符串中不會出現數字。
OK,所以您真的在抱怨(0.0).ToString("#.##")
返回""
,對嗎?
嘗試使用(0.0).ToString("0.00")
。
這里(0.0)
是doubleVariable
的值。
但還要考慮:
doubleValue.ToString("F" + templateNumericUserVariable.DecimalPlace, cultureInfo)
例如(0.0).ToString("F2")
給出帶有兩個(固定)小數的"0.00"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.