doubleから5桁の文字列への変換

解決


eniac  2009-12-04 22:45:11  No: 142937

doubleの変数に入った数値を5桁の文字列に変えたいです。
例えば、『1.2345』という数値の入った変数が有ったら、
その変数から『1.234』という文字列を取得したいです。

Dim d As Double = 1.2345
Label1.Text = d.ToString.PadRight(5, "0"c).Substring(0, 5)

としてみたのですが、dを切りの良い数にすると、うまくいきません。
例えば『1.0』とすると、表示は『10000』となってしまいます。
この場合、表示したいのは『1.000』です。

どなたかご教授願います。


YuO  2009-12-04 22:59:54  No: 142938

12.3とか0.00008とかをどう扱いたいかによって問題が異なってきますが,
とりあえず丸めや負数や無限大や非数を無視すると,
d.ToString("F4").Substring(0, 6)
でいけると思います。

MSDN: Double.ToString メソッド (String) (System)
http://msdn.microsoft.com/ja-jp/library/kfsatb94.aspx
MSDN: 標準の数値書式指定文字列
http://msdn.microsoft.com/ja-jp/library/dwhawy9k.aspx


eniac  2009-12-05 00:34:37  No: 142939

YuOさん有難う御座います。

  ところで、大変恐縮なのですが、お教え頂いたURLがうまく開けませんでした。
ダブルクリックしても、新しいウィンドウで開いても、URLをコピー貼り付けしても、スクロールバーが出ず、文章が途中で切れている状態で表示されてしまいます。なにか、特別な見方をしないといけないのでしょうか?(例えば、IEのツール設定など?)

  URLがうまく見れなかったのですが、私なりにお教え頂いたコードを解釈すると、
"F4"とは、小数点以下の取得桁数で、小数点以下を4桁とする。
その小数点以下4桁とした数をSubstringで6文字にしているという事でよろしいでしょうか?

得たい結果は得られました。有難う御座います。


eniac  2009-12-05 01:13:53  No: 142940

解決忘れです。
失礼しました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加