2017-06-19 5 views
0

VS2007 VB.net Webフォームアプリケーションで、文字列( "12345.0000")の数値を "12345.00"という小数点以下2桁にフォーマットしようとしています何千ものセパレータなし。これを行うには、次のコード行を使用します。 -VS2017 VB.NET形式の文字列が機能しない

rentalPriceVal = Format(memberPrices.RentalPrice, "0.00") 

"0.00"を返します。

私はもともとFormatNumber(memberPrices.RentalPrice, 2)を持っていましたが、これはロケールに依存する1000の区切り文字と10進数の識別子を追加します。

私も試しました:memberPrices.RentalPrice.ToString("0.00")しかし、エラーは "文字列をIFormatProviderにキャストできません"。

私は迷っています。私は構文を乱したことがありますか?私がまだ出会っていないより良い方法があるのでしょうか?

ありがとうございました。

+3

文字列を数値に変換してからフォーマットします。 – GSerg

+0

'Format(Val(memberPrices.RentalPrice)、" 0.00 ")' – Slai

答えて

2

使用Decimal.TryParse()あなた文字列は、あなたのformatとして "F2" とDecimal.ToString()を使用し、小数に変換します。

Dim price As Decimal 
If Decimal.TryParse(memberprices.RentalPrice, price) Then 
    Dim strPrice As String = price.ToString("F2") 
    ' .. use "strPrice" somehow ... 
    Debug.Print(strPrice) 
End If