我想显示带逗号和小数点的数字
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");
任何建议..
感谢
答案 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)
似乎有两种方法可以回答这个问题:
算法答案,以指定的格式给出数字,即逗号之间的2位数。
确定这是一个与语言环境相关的解决方案,因为我无法获得任何给定的ToString()建议在我的PC上运行。
这个问题最初引起了我的兴趣,因为它并不像它看起来那么容易。
答案 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