• ベストアンサー

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