Java DecimalFormat的c#等价物是什么?

Java DecimalFormat的c#等价物是什么?,c#,java,decimalformat,C#,Java,Decimalformat,如何将以下代码转换为C# 十进制格式 字符串模式=”; 对于(inti=0;i

如何将以下代码转换为C#

十进制格式
字符串模式=”;
对于(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