显示带逗号和小数点的数字

时间:2009-11-23 17:08:09

标签: c# asp.net

我想显示带逗号和小数点的数字

  

CASE1:如果数字为3494309432324

,则为示例      

显示为34,94,30,94,32,324但不是34,94,30,94,32,324.00

案例2:如果数字具有十进制值,则直到2个小数点并使用逗号

  

显示为12,22,222.32

目前我这样做2位小数,但我没有得到逗号

  

Label9.Text = sisRatio.ToString("#0.00");

任何建议..

感谢

6 个答案:

答案 0 :(得分:11)

假设您想要通常的3个数字,然后是逗号,我认为这将满足您的需求:

Label9.Text = sisRatio.ToString("#,##0.##");

这个问题的一个小问题是,如果第二个小数位为0,它只会有一个小数位。

答案 1 :(得分:4)

尝试:

Label9.Text = sisRatio.ToString("##,0.00");

我假设您要将群组分成数千而不是数百个,就像您的问题一样。请注意,这将使用当前文化的本地化分隔符。

答案 2 :(得分:4)

以下方法应该可以满足您的需求:

double d = 123456789.1;
string format = d.ToString().IndexOf(NumberFormatInfo.CurrentInfo.NumberDecimalSeparator) >=0 ? "#,##0.00" : "#,##0";
Console.WriteLine (d.ToString(format));

这也适用于没有3位数组的文化。

答案 3 :(得分:2)

似乎有两种方法可以回答这个问题:

  1. 算法答案,以指定的格式给出数字,即逗号之间的2位数。

  2. 确定这是一个与语言环境相关的解决方案,因为我无法获得任何给定的ToString()建议在我的PC上运行。

  3. 这个问题最初引起了我的兴趣,因为它并不像它看起来那么容易。

答案 4 :(得分:1)

这将有效:

Label9.Text = sisRatio.ToString("#,0.00"); //changed from "#0,0.00" to "#,0.00"

答案 5 :(得分:-1)

试试这个

    Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Thread.CurrentThread.CurrentCulture = New CultureInfo("hi-IN")
    End Sub

和.....

Private Sub txtData_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtData.Leave
        If IsNumeric(txtData.Text) Then
            Dim xData As Integer = txtData.Text
            txtData.Text = xData.ToString("##,0.00")
        End If
    End Sub