Sample นะครับผม
dim x as decmial
x = 123.01290
dim p as string
p = x.tostring("#,##0.00")
แค่นีก็ได้จุด สองตำแหน่งครับ แต่ว่าทำสำคัญ ตัว แปร ที่จะ .Tostring จะต้องเป็น Type พวก
float , decimal นะคับ ถ้าเป็น type ที่ไม่รอบรับ ทำไง ก็ไม่ได้ผล ฮิๆๆ
หรือว่ารอผู้รู้ท่านอื่น มาแนะนำต่อ ฮิๆๆๆ
type เป็น money นี้ หมายถึง Type ใน Database หรือป่าวครับ
ถ้าใช้คือว่าเราจะต้องมา convet type ใน .net อีกทีนะครับ
Code (VB.NET)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x As String
x = "12.3221"
MessageBox.Show(convDes(x).ToString("#,##0.00"))
End Sub
Function convDes(ByVal str As Object) As Decimal
Try
Return Convert.ToDecimal(str)
Catch ex As Exception
Return 0
End Try
End Function
จากตัวอย่าง X คือ ตัวแปร string อะครับผม ก็มาแปรง ใหม่ ของคุณ ก็คงเป็นตัวแปร ใน dataset ใช่มั้ยครับ ก็วน loop เอาครับ คิดว่าของคุณน่าเป็นเขียน Query แปลงมานะ ลองอย่างงี้นะ
strsql = select cast(x as varchar(200)) as x from tablex
พอ fill เข้า dt ก็
dim dr as datarow
for each dr in dt.rows
{
dr["x"] = convDes(dr["x"]).ToString("#,##0.00");