DOBON.NET DOBON.NETプログラミング掲示板過去ログ

パーセント形式で表示するには?

環境/言語:[環境(WindowsXP Pro)、使用言語(VB.NET2005)、.NET Frameworkのバージョン(2.0)]
分類:[ASP.NET]

お世話になります。

下記の値を変数に格納してToStringでフォーマット形式を指定して
表示しようと思い、下記のように指定しましたがうまく表示されま
せんでした。

また値を格納する変数の型はどの型がいいのでしょうか?
現在はDouble型の変数に格納しています。Decimal型の方が
いいのでしょうか?

Dim dblValue As Double = 0.492831541218638
Label1.Text = dblValue.ToString("P")

表示結果は下記の通りです。
49.28%

0.49%と表示したいと思っています。
どなたかアドバイス宜しくお願いします。
では、失礼します。
■No17072に返信(KIKIさんの記事)
> 現在はDouble型の変数に格納しています。Decimal型の方がいいのでしょうか?

うん。
■No17072に返信(KIKIさんの記事)
> Dim dblValue As Double = 0.492831541218638
> Label1.Text = dblValue.ToString("P")

この0.492831541218638を四捨五入したいのか、切捨てにしたいのかわかりませんが、そういうことであれば、

数学関数 (Math) に関する Tips
http://jeanne.wankuma.com/tips/math/

を参考にして処理をし、最後に%を文字列連結で引っ付けてしまえばいいんじゃないでしょうか?
■No17072に返信(KIKIさんの記事)
 0.4928 → 49.28%
は一般的な概念として正しいのですから、
dblValue が既に%単位の数値であるなら
>Label1.Text = dblValue.ToString("P")
を使って%表示の処理を2重に実行する
のが間違っています。

trapemiya さんのおっしゃるように文字列連結で
"%"という単位を付けるか、どうしても ToString("P")
を適用したいなら100で割って%→数値の概念に
戻せばいいだけでしょう???

DOBON.NET | プログラミング道 | プログラミング掲示板