• ベストアンサー

VB.NETで小数点以下の桁数を取得したい

 こんばんは。 VB.NETで1つ教えて下さい。 小数点以下の桁数を取得したいのですが どのようにすると良いのでしょうか? 例えば 1.5なら1 2.12なら2 2.555なら3と取得したいのです。 解るかたおられましたら ご教授、宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

小数点以下が2ケタか4ケタのどちらかっていうことなら、 Format(金額, "##0.0000") の右2文字が"00"なら削るってのでも良いのでは?

その他の回答 (3)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

> データは1.1500,0.00050 データは元々文字列ってこと? だったら、一度数値に変換してからもう一度文字列に変換してSplitで良いのでは? 4ケタくらいなら右から1文字づつ0か否かをチェックしても良いかも。

FILETUBE
質問者

補足

回答ありがとうございます。 データはオフコンからの取得でデータ型が数字7桁小数点以下4桁となっています。 Format(金額, "##0.####")で 1.1500を1.15に、0.00050を0.0005に変換して ToString.Split("."c)するようにしました。 結果は取れましたが、 Format(金額, "#,##0.00")とするかFormat(mHTAN, "#,##0.000")とするか 小数点以下の桁数で編集を使い分けたかったのですが これで良かったのでしょうか?

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.2

Dim num As Double = 1.6 Dim str As String() = num.ToString().Split("."c) Dim cnt As Integer If str.Length > 1 Then cnt = str(1).Length MessageBox.Show(cnt.ToString()) End If

FILETUBE
質問者

補足

  回答ありがとうございます。 すいません、データは必ず小数点以下4桁を持っていて データは1.1500,0.00050 となります。 説明不足でしたが、0以外の有効な小数点以下の桁数を取得出来ないでしょうか? 1.1500が2桁,0.0050は3桁と取得したいのです。 申し訳ありません、ご教授宜しくお願いします。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

文字列に変換して「.」でSplitして2つ目の要素の文字数を取得……ってのが一番シンプルかな?

関連するQ&A

  • Accessで小数点以下の桁数を・・?

    教えてください。 Accessで小数点以下の桁数を表示したいのですが、プロパティで小数点以下の桁数を表示することができるのですが、実際に入力すると値が四捨五入されてしまい小数点以下の桁数を入力することができません。どうしたらよいのでしょうか?

  • 小数点以下桁数が最大の値に小数点以下桁数を揃えるにはどうしてますか

    小数点以下桁数が最大の値に小数点以下桁数を揃えるにはどうしてますか 例えばSELECT文で取ってきた値が、 0.05と0.1だった場合は、0.1を0.10としたいです。 0.5と2だった場合は、2を2.0としたいです。 1と2だった場合は、1も2も、そのままとしたいです。

    • ベストアンサー
    • MySQL
  • 小数点以下の数字の桁数表示について

    VB6.0で小数点以下の数値が0の場合でも指定した桁数で0も表示するにはどのようにしたらよいですか? 例えば、四捨五入のROUND(0.195000,4)のとき返ってくる数値が「0.195」となり最後の0が表示されません。(以下は4桁表示したいのに) (小数点以下第5位が5なら切り上げで最後に1が表示されますが) エクセルだとセルの書式設定で表示桁数を設定するだけだったのですが。 FIXED関数、TEXT関数はVB6.0では使えないのですよね? VB6.0に詳しい方よろしくお願いします。お手数です。

  • 小数点以下の桁数

    Excelの関数で指定したセルの小数点以下の桁数を返すようなものはありますか?例えば、「1.12345」だったら「5」と返すような・・・。

  • 小数点付の数字の桁数を揃える

    >10 を $suu=sprintf("%03d",$suu); このようにして3桁に揃えると >010 ですが、小数ありの数字を上の方法で桁数を揃えると >10.5 だった場合、小数点以下が無視され、 >010 と表示されます。それを、 >010.5 のように小数つきで桁数を揃えたいのですが、 どうすればいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • EXCEL 小数点以下の桁数を条件によって変えるには

    G列の書式設定を数値、小数点以下0桁に設定してあります D列にある特定の文字が入力された時だけ、小数点以下の桁数を1桁にしたいのですが、どのようにすればよいでしょうか? それと小数点以下0桁、1桁の数字の桁位置をそろえることはできますか

  • printfの小数点以下の表示桁数につい

    Java超初心者です。宜しくお願い致します。 System.out.printf("%8f\n",15.8); は8桁表示のはずですが、 実行すると、 15.800000 と、いう風に9桁になります。 詳しい方はきっと当たり前と思うと思いますが、 小数点以下の桁数がどういう基準で決められるのか、 つまりゼロ(0)がいくつ並ぶか、というのがよくわかりません。 %12f に変更すると、    15.800000 と、左側にスペースが3つ入ります。 12桁と指定しても、小数点以下のゼロが5つだから、左にスペースが3つ入るわけですよね。 結局、小数点以下の桁数を指定していないのに勝手にゼロが並ぶので、 表示は実行してみるまでどうなるか解らない、という状況です。 規則というか、ルールを解りやすく教えて頂けると嬉しく思います。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • VBA:小数点以下の数字を取得できる関数は?

    VBAで、小数点以下の数字を取得できる関数または、それに必要な関数を教えていただけたらと思います。たとえば、 1.325…から0.325  3.256224から0.256224 5.23549から0.23549を取得。 といった感じです。(取得する値はdouleで桁数は不定です。)よろしくお願いいたします。

  • 小数点以下を切り捨てたい

    VBで小数点以下を切り捨てるにはどうしたらいいのですか? --<例>------------------------- 4.9347… が”5”となるのを”4”としたいんです --------------------------------- 分かる方教えてください! お願いします!!

  • 少数点以下の桁数について

    printした時の表示を0.33とか0.333とか小数点以下の桁数表示を コントロールしたいのですが、どなたか教えて下さい。 ---------------------- $a=10/3; print $a;

専門家に質問してみよう