• ベストアンサー

VBScript 数値の少数化

VBScript (ASP)での開発です。 3→3.0 10→10.0 1.005→1.0 以上のように、数値を小数第一位で固定して 表示したいと思っています。 で、FormatNumber(数値,1)というようにしてみたのですが、 小数値が数値に入る時は良いのですが、整数がきた時は 整数のままで困っています。 小数で表示する方法を教えていただけないでしょうか。

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

  • ベストアンサー
  • hotosys
  • ベストアンサー率67% (97/143)
回答No.2

FormatNumber(数値,1)は小数点以下1桁の文字列を返すので、整数でも少数でも小数点以下1桁を返すはずです。 その後に数値に変換するような処理をしてませんか? Dim a a = 10 MsgBox FormatNumber(a, 1) '文字列の10.0 MsgBox FormatNumber(a, 1) + 0 '数値の10 数値では整数は整数でしか表示できないので、表示する時にFormatNumber(数値,1)で文字列に変更すれば整数でも小数点以下1桁を表示するはずです。 Dim a a = 10 '整数の10 a = FormatNumber(a, 1) '文字列の10.0 MsgBox a '文字列の10.0 を表示 a = a + 0 '整数の10 MsgBox a '整数の10 を表示 a = FormatNumber(a, 1) '文字列の10.0 MsgBox a '文字列の10.0 を表示

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

If 数値 - Fix(数値) > 0 Then MsgBox FormatNumber(数値,1) End if If 数値 - Fix(数値) = 0 Then MsgBox FormatNumber(Clng(CStr(数値) & ".0"),1) 'あるいは MsgBox FormatNumber(Clng(CStr(数値)),1) でも? End If

すると、全ての回答が全文表示されます。

関連するQ&A