webForumDet fria alternativet

Hur formatera till valuta?

.NET

6 svar · 401 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1
Me.txtBudget.Text = IIf(IsDBNull(objReader("Budget")), "", objReader("Budget"))

<asp:TextBox ID="txtBudget" runat="server" />

Hur fixar jag till så att det blir valuta i det fältet? Värdena hämtas med hjälp av en SqlDataReader.

Medlem sedan sep. 20011 914 inlägg
#2
Me.txtBudget.Text = objReader("Budget").ToString("c")
Medlem sedan juli 2003465 inlägg
#3

Man använda FormatCurrency(objReader("Budget"), 2)
2:an är hur många decimaler man vill ha...

Medlem sedan jan. 20022 440 inlägg
#4

Tack för förslagen! Båda funkar klockrent efter lite pillande :)

Medlem sedan jan. 20022 440 inlägg
#5

Satt och tittade lite på en datagrid jag har. Kan man använda sig av koden nedan på något enkelt vis och styra det så att formateringen till valuta sker textboxen?

<asp:Label ID="lblPriceItem" runat="server" 
  Text='<%# DataBinder.Eval(Container, "DataItem.Price", "{0:C}") %>'
  Width="70px">
</asp:Label>
Medlem sedan jan. 20022 440 inlägg
#6

Anledningen till att jag undrar är för att när jag kör koden:

Me.txtBudget.Text = IIf(IsDBNull(objReader("Budget")), "", FormatCurrency(objReader("Budget"), 2))

Den koden genererar ett , = kommatecken om det är tex 15,000 eller 1,500 av något och det vägras att sparas i databasen. Får hela tiden:

Visual Studio 2005 skrev:

Incorrect syntax near '000.00'

Så fort värdet inte överstiger 999 så det genereras ett kommatecken så funkar det. Väldigt skumt, någon som har tips på hur jag kan lösa detta?

Medlem sedan jan. 20022 440 inlägg
#7

- "Too easy!" som man säger här i OZ!! Det var bara att innan insert/update köra:

Dim myBudget As Integer = Me.txtBudget.Text
264 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)