将decimal转换为string并添加逗号和分隔符

时间:2015-05-22 15:12:29

标签: .net decimal converter arcobjects

将十进制转换为字符串,添加逗号和空格的最简单方法是什么。它必须转换平方米的地块面积。 它可以是1456,25678,3647989或2548978m²..这取决于包裹的大小。 我想将其转换为获得此结果:

1456 = 1 456,0

25678 = 25 678,0

364789 = 364 789,0

2548978 = 2 548 978,0 ..

我试过了:

myvalue = Convert.ToDecimal(MyFeature.Value(MyFeature.Fields.FindField("MyAreaField"))).ToString("# ### ###,0")

但312410给出了这个结果:31 2 410

你能帮我吗?

2 个答案:

答案 0 :(得分:2)

请改为尝试:

var myValue = Convert.ToDecimal(MyFeature.Value(MyFeature.Fields.FindField("MyAreaField")));
var sValue = string.Format("{0:0 0,0}", myValue);

答案 1 :(得分:0)

我发现了这个,并且它有效

        Dim nfi = New NumberFormatInfo() With { _
            .NumberGroupSeparator = " ", _
            .NumberDecimalSeparator = "," _
        }

    Convert.ToDecimal("1231231232").ToString("#,#.0#", nfi)
    Convert.ToDecimal("123456,1").ToString("#,#.0#", nfi)
    Convert.ToDecimal("123456").ToString("#,#.0#", nfi)
    Convert.ToDecimal("123").ToString("#,#.0#", nfi)

它给出了这个:

1 231 231 232,0
1 234 561,0
123 456,0
123,0