6


0

カンマと小数点で数字を表示する

コンマと小数点で数字を表示したい

_ _ CASE1:番号が3494309432324の場合の例

34,94,30,94,32,324として表示されますが、34,94,30,94,32,324.00としては表示されません _ _

ケース2:数値に10進数の値が含まれる場合、小数点以下2桁まで、コンマ付き

_ 12,22,222.32として表示 _

現在、小数点以下2桁でこれを行っていますが、コンマを取得できません

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

助言がありますか..

ありがとう

6 Answer


11


あなたが通常の3つの数字とコンマが欲しいと仮定すると、私はこれがあなたが必要とすることをするだろうと思う:

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

これに関する1つのわずかな問題は、2番目の桁が0になる場合、小数点以下1桁のみになることです。


4


Try:

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

私はあなたがあなたの質問のように数百単位ではなく数千単位でグループを分けたいと思っています。 これは、現在のカルチャに対してローカライズされたセパレータを使用することに注意してください。


4


次のアプローチにより、探しているものが得られます。

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

これは、3桁のグループを持たないカルチャでも機能します。


2


この質問に答えるには2つの方法があるようです。

  1. 指定された形式で番号を与えるアルゴリズムの回答 i.e. コンマの間の2桁。

  2. 取得できないため、これはロケール相対ソリューションであることがわかります 与えられたToString()の提案のいずれかが私のPCで動作します。

見た目ほど簡単ではないので、この質問に最初に気づきました。


1


これは動作します:

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


-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