Java DecimalFormat的c#等价物是什么?
如何将以下代码转换为C#Java DecimalFormat的c#等价物是什么?,c#,java,decimalformat,C#,Java,Decimalformat,如何将以下代码转换为C# 十进制格式 字符串模式=”; 对于(inti=0;i
十进制格式
字符串模式=”;
对于(inti=0;i
编辑特别的问题是,我不希望小数分隔符随区域设置而改变(例如,某些区域设置将使用“,”)。在C#中,存储在decimal
类型中,其内部表示形式允许您在不存在舍入错误的情况下执行十进制数学
一旦你有了号码,你就可以把它用于输出目的。这种格式是特定于语言环境的;它尊重您的。对于十进制分隔符,您可以在
NumberFormatInfo
实例中设置它,并将其与ToString一起使用:
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalSeparator = ".";
//** test **
NumberFormatInfo nfi = new NumberFormatInfo();
decimal d = 125501.0235648m;
nfi.NumberDecimalSeparator = "?";
s = d.ToString(nfi); //--> 125501?0235648
要获得java版本的结果,请将ToString()
函数版本与(即:您所称的模式)一起使用:
如果您提到更高级别的目标,我们会更容易提供帮助。是否没有简单的等价物?实际目的是确保在保留“.”作为十进制分隔符时,FP数字在不同的区域设置。要控制格式,请使用
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalSeparator = ".";
//** test **
NumberFormatInfo nfi = new NumberFormatInfo();
decimal d = 125501.0235648m;
nfi.NumberDecimalSeparator = "?";
s = d.ToString(nfi); //--> 125501?0235648
s = d.ToString("# ### ##0.0000", nfi);// 1245124587.23 --> 1245 124 587?2300
// 24587.235215 --> 24 587?2352