我正在寻找一个很好的JavaScript等价的C/PHP printf()或C#/ Java程序员String.Format()(IFormatProvider对于.NET).
我的基本要求是现在有一千个数字分隔符格式,但处理许多组合(包括日期)的东西会很好.
我意识到Microsoft的Ajax库提供了一个版本String.Format(),但我们不希望该框架的整个开销.
如何以JavaScript中的文化感知方式格式化货币相关数据?
我有以下代码:
var x = "100.007"
x = String(parseFloat(x).toFixed(2));
return x
=> 100.01
Run Code Online (Sandbox Code Playgroud)
这非常有效,只是我希望它如何工作.我只想要一个小小的添加,这类似于:
var x = "100,007"
x.replace(",", ".")
x.replace
x = String(parseFloat(x).toFixed(2));
x.replace(".", ",")
return x
=> 100,01
Run Code Online (Sandbox Code Playgroud)
但是,此代码将替换第一次出现的",",我想要捕获最后一个.任何帮助,将不胜感激.
我正在为德国客户开发一个网站.在德国,他们使用逗号作为小数分隔符.
我使用WebMethod从SQL获取值,然后构建一个JSON对象以显示网站上的数据.使用C#SqlCommand,我将SQL中的值作为字符串获取.我想将此值保存为double变量.
这是代码示例,显示了我想要做的事情:
NumberFormatInfo nfi = new CultureInfo( "de-DE", false ).NumberFormat;
nfi.NumberDecimalSeparator = ","; // Displays the value with a comma as the separator.
string value ="15.95"; //value from SQL
string valueInString = "";
double valueInDouble = 0;
valueInString = Convert.ToDouble(value.ToString()).ToString( "N", nfi );
valueInDouble = Convert.ToDouble(value.ToString()).ToString( "N", nfi ); //Error
valueInDouble = Convert.ToDouble(valueInString,nfi);
Console.WriteLine( valueInString ); // returns 15,95. But it is a string
Console.WriteLine( valueInDouble ); // returns 15.95. the comma is reverted back to dot
Run Code Online (Sandbox Code Playgroud)
我需要将数据保存为double.我该如何解决这个问题?