如何在HTML文本框中默认显示小数点后四位数字?

4

我在cshtml文件中有一些文本框,它们绑定了视图模型中的十进制字段。大部分字段在小数点后面有九个零。在编辑时,我希望默认只显示四位数字。然而,我不想固定小数点后的长度。有谁能帮助我解决这个问题吗?


为什么在视图模型到达视图之前,它的值不能已经被计算为正确位数的数字? - Erik Philips
3个回答

2

我建议在C#控制器或数据绑定到UI控件的位置执行以下操作:

String.Format("{0:0.0000}", 123.456789012); // 123.4568

您也可以使用本地JavaScript进行操作,例如:

var num = 123.456789012;
var n = num.toFixed(4); // 123.4568

我不得不使用jQuery,所以感谢你的JavaScript建议。 - Exception handler

1
var n = 56767.87488958865
console.log(n.toFixed(4)) //56767.8748

0
或者你可以在C#中使用CultureInfo。
CultureInfo nfi = new CultureInfo("en-US", False);
nfi.NumberFormat.CurrencyDecimalDigits = 2;
nfi.NumberFormat.CurrencyDecimalSeparator = ".";
nfi.NumberFormat.CurrencyGroupSeparator = "";
nfi.NumberFormat.NumberDecimalDigits = 2;
nfi.NumberFormat.NumberDecimalSeparator = ".";
nfi.NumberFormat.NumberGroupSeparator = "";

//Now you can show the data like
txtValue.Text = data.ToString("N", nfi); //Format as number
txtValue.Text = data.ToString("C", nfi); //Format as currency

或许这能指引你朝着正确的方向前进。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接