是否可以通过LINQ将字符串转换为以下代码中的货币:(我希望得到以下格式:1.234,56
An unhandled exception occurred while processing the request.
InvalidOperationException: 'Microsoft.AspNetCore.Mvc.MvcOptions.InputFormatter c2 s' must not be empty. At least one 'Microsoft.AspNetCore.Mvc.Formatters.IInputFormatter' is required to bind from the body.
Microsoft.As fdc pNetCore.Mvc.ModelBinding.Binders.BodyModelBinderProvider.GetBinder(ModelBinderProviderContext context)
答案 0 :(得分:2)
'N'ToString格式:MSDN
要点: 数字(“N”)格式说明符将数字转换为“-d,ddd,ddd.ddd ...”形式的字符串,其中“ - ”表示负数字符号(如果需要),“d”表示数字(0 -9),“,”表示组分隔符,“。”表示小数点符号。精度说明符表示小数点后的所需位数。如果省略精度说明符,则小数位数由当前NumberFormatInfo.NumberDecimalDigits属性定义。
123456d.ToString("N2") // outputs "123.456,00" or "123,456.00" depending on culture
答案 1 :(得分:0)
你可以写:
Mieten_kosten = g.Sum(x => x.Field<double>("Mieten_kosten")).ToString("c")
然后Mieten_kosten
变量将包含一个带有货币符号的字符串。假设机器具有德语区域设置,Mieten_kosten
将在您编写货币时格式化,并以欧元符号(€)为后缀。
一个详细的例子:
var cult = System.Globalization.CultureInfo.GetCultureInfo("de-DE"); // make sure we get the german locale
(12222.3).ToString("c", cult).Dump(); // outputs 12.222,30 €