Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > รบกวนผู้รู้ช่วยหน่อยนะครับ มีปัญหาเกี่ยวกับตัวเลขที่แสดงใน vb ครับ สำคัญกับผมมากๆเลยครับ



 

รบกวนผู้รู้ช่วยหน่อยนะครับ มีปัญหาเกี่ยวกับตัวเลขที่แสดงใน vb ครับ สำคัญกับผมมากๆเลยครับ

 



Topic : 070336

Guest




ผมใช้ vb2008+sql2005 เป็นโปรแกรมร้านขายเครื่องใช้ไฟฟ้า ในหน้าของการขายเมื่อเลือกประเภทลูกค้า เลือกสินค้า ราคาก็จะถูกแสดงใน datagrid และ Panel9 ซึ่งใน Panel9
จะมี TextBox 3 อัน อันแรกคือ 1 ราคารวม (txt_SUM) 2 เปอเซน (txt_vat) และ 3 ยอดรวมสุทธิ (txt_SUM3) ปัญหาคือ ผมอยากให้
ยอดรวมสุทธิ (txt_SUM3) มีเครื่องหมาย , คั่นตรงหลักร้อย
เหมือนกับ ราคารวม (txt_SUM) โค้ดเป็นแบบนี้นะครับ


Private Sub Panel9_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel9.Paint

txt_SUM.Text = FormatNumber(txt_SUM.Text, 0)

txt_SUM3.Text = FormatNumber(txt_SUM3.Text, 0) <<<ผมลองใส่โค๊ดเพิ่มโดยเปลี่ยน จาก txt_SUM เป็น txt_SUM3 แต่พอใส่บรรทัดนี้ ทั้งราคารวม (txt_SUM) และยอดรวมสุทธิ (txt_SUM3)จะไม่มีเครื่องหมาย , คั่นที่หลักร้อย

End Sub

ปล.ตรง ยอดรวมสุทธิ (txt_SUM3) มีทศนิยม ด้วยนะครับ เช่น ยอดรวมสุทธิอาจจะเท่ากับ 1200.5
คือ ราคารวม (txt_SUM) - เปอเซน (txt_vat) = ยอดรวมสุทธิ (txt_SUM3)
ตรง FormatNumber(txt_SUM3.Text, 0) << อาจไม่ใช่ 0 รึป่าวครับ
รบกวนผู้รู้ตอบให้ทีนะครับ ขอบคุณครับ
sale



Tag : .NET, VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-12-14 12:01:53 By : off View : 1492 Reply : 12
 

 

No. 1

Guest


Me.txt_SUM3.Text = FormatNumber(Me.txt_SUM.Text - ((Me.txt_SUM.Text * Me.txt_vat.Text) / 100), 2)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 13:17:06 By : Thep
 


 

No. 2



โพสกระทู้ ( 232 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

Code (VB.NET)
sum.ToString("#,###.00")

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 13:22:46 By : Testprogram
 

 

No. 3



โพสกระทู้ ( 437 )
บทความ ( 0 )



สถานะออฟไลน์


ความคิดเห็นที่ 2 ก็ใช้ได้แล้วครับ แต่เพิ่มเติมให้นิดนึงในกรณีที่ จขกท. อยากใช้ Function เดิม
ให้เขียนประมาณนี้ครับ




Code (VB.NET)
FormatNumber(txt_SUM3.Text, 2, , , TriState.True)



อธิบายเพิ่มเติมสำหรับเจ้า FormatNumber Function

FormatNumber จะมี Parameter ทั้งหมด 5 ตัว นะครับ

รูปแบบประมาณนี้

Code (VB.NET)
FormatNumber(1, 2, 3, 4, 5)


1 = ตัวเลขที่เราต้องการเอามากำหนด Format (มันรับค่าเป็น Object แต่ก็ตัวเลขนั้นแหละ)
2 = จำนวนจุดทศนิยมที่เราต้องการ (รับค่าเป็น Numeric)
3 = จะให้แสดงเลข 0 หรือไม่หายหลังจากปัดเศษแล้วค่ามันเท่ากับ 0 (รับค่าเป็น TriState)
TriState.True = โชว์ 0
TriState.False = ไม่โชว์อะไรเลย
TriState.UseDefault = ตาม Regional Settings
4 = จะให้ทำวงเล็บหรือไม่หากค่าติดลบ (รับค่าเป็น TriState)
TriState.True = แสดงวงเล็บถ้าค่าติดลบ
TriState.False = แสดงเป็นค่าติดลบธรรมดา
TriState.UseDefault = ตาม Regional Settings
5 = ให้แสดง , หรือไม่ (รับค่าเป็น TriState)
TriState.True = แสดง
TriState.False = ไม่แสดง
TriState.UseDefault = ตาม Regional Settings

ลองๆ เอาไปเล่นดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 13:49:33 By : kaimuk
 


 

No. 4

Guest


ยังไม่ได้เลยครับ ใส่โค๊ดไปแบบนี้


Private Sub Panel9_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel9.Paint

txt_SUM.Text = FormatNumber(txt_SUM.Text, 0) << ถ้าใส่บรรทัดนี้อย่างเดียวtxt_SUMจะมี , คั่น แต่txt_SUM3จะไม่มี , คั่น
txt_SUM3.Text = FormatNumber(txt_SUM3.Text, 2, , , TriState.True) << ถ้าใส่บรรทัดนี้ด้วยจะไม่มี , คั่นทั้งtxt_SUMและtxt_SUM3


End Sub

txt_SUM3 น่าจะทศนิยมหนึ่งตำแหน่งครับ คืออยากให้ออกมาประมาณนี้ >>>>>> 1,164.5 หรือถ้าไม่มีเศษก็ 1,164

ช่วยทีนะครับ ติดอยู่แค่ txt_SUM3 นี่เเหละครับ มันสำพันกันที่ txt_SUM - txt_vat = txt_SUM3 ใช่มั้ยครับ ผมอาจจะใส่โค๊ดผิดที่รึเปล่า นี่คือโค๊ดในส่วนของ ความสัมพันที่บอกเมื่อกี้นะครับ หรือผมต้องแทรกโค๊ดไว้ในส่วนนี้รึเปล่า ลองมั่วหมดแล้วไม่ได้ครับ

Sub SUM_AMOUNT()
Dim c_row As Integer = 0
c_row = DataGrid_Pro.Rows.Count
Dim i As Integer
Dim add As Double = 0
For i = 0 To c_row - 1
Dim a1 As Integer = 0
a1 = DataGrid_Pro.Rows(i).Cells(8).Value
add = add + a1

Next

txt_SUM.Text = add
<<<< เคยลองเอามาแทรกไว้บรรทัดนี้ ก็เหมือนเดิมคือถ้าFormat SUM3ด้วยเมื่อไหร่ มันจะไม่ออกทั้งคู่
txt_SUM3.Text = CDbl(txt_SUM.Text) - ((CDbl(txt_vat.Text) / 100) * CDbl(txt_SUM.Text))
<<<< บรรทัดนี้ก็เคยลองแทรก ผลก็เหมือนเดิมเลยครับ

End Sub
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 14:33:15 By : off
 


 

No. 5



โพสกระทู้ ( 437 )
บทความ ( 0 )



สถานะออฟไลน์


แปะ Code ได้เปล่าครับอาจจะผิดที่ Logic ก็ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 15:15:08 By : kaimuk
 


 

No. 6

Guest


ยังไงครับ ไม่เข้าใจครับ ช่วยชี้ทางหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 16:20:00 By : off
 


 

No. 7



โพสกระทู้ ( 437 )
บทความ ( 0 )



สถานะออฟไลน์


Copy Code ที่ จขกท. เขียนมาดูครับ
เอาเฉพาะส่วนที่เกี่ยวข้องกับตรงนี้อ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 16:37:40 By : kaimuk
 


 

No. 8

Guest


ประมาณนี้ครับ ช่วยทีนะครับ
Sub SUM_AMOUNT()
Dim c_row As Integer = 0
c_row = DataGrid_Pro.Rows.Count
Dim i As Integer
Dim add As Double = 0
For i = 0 To c_row - 1
Dim a1 As Integer = 0
a1 = DataGrid_Pro.Rows(i).Cells(8).Value
add = add + a1

Next

txt_SUM.Text = add
txt_SUM3.Text = CDbl(txt_SUM.Text) - ((CDbl(txt_vat.Text) / 100) * CDbl(txt_SUM.Text))


End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
If DataGrid_Pro.Rows.Count <> 0 Then
DataGrid_Pro.Rows.RemoveAt(DataGrid_Pro.CurrentRow.Index)




End If
Call SUM_AMOUNT()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
txt_ID_Pro.Text = ""
TextBox4.Text = ""
txt_Name_pro.Text = ""
txt_SUM.Text = "0"
txt_SUM3.Text = "0"
txt_All.Text = ""
txt_prices.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
txt_amount.Text = ""
DataGrid_Pro.Rows.Clear()


End Sub

Sub clr()
txt_ID_Pro.Text = ""
TextBox4.Text = ""
txt_Name_pro.Text = ""
txt_amount.Text = ""
txt_All.Text = ""
txt_prices.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
DataGrid_Pro.Rows.Clear()
TextBox9.Text = ""
TextBox8.Text = ""
TextBox2.Text = ""
txt_id.Text = ""
txt_SUM.Text = "0"
txt_SUM3.Text = "0"
' txt_Date.Text = ""
TextBox1.Text = ""
TextBox3.Text = ""

txt_amount.Text = ""
txt_ID_Pro.Text = ""
txt_Name_pro.Text = ""


txt_All.Text = ""
txt_prices.Text = ""
DataGrid_Pro.Rows.Clear()

End Sub
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 16:56:35 By : off
 


 

No. 9

Guest


อันนี้คือเอาคำสั่ง FormatNumber ที่ใช้ Format txt_SUM กับ txt_SUM3 ออกไปหมดแล้วนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 16:59:11 By : off
 


 

No. 10

Guest


Private Sub Button2 กับ Private Sub Button7 น่าจะไม่เกี่ยวครับขอโทดทีครับ ดูอันนี้ละกันนะครับ Button8 คือปุ่มเพิ่มข้อมูล ก่อนจะแสดงลงใน Panel9 ที่มี txt_SUM กับ txt_SUM3

Sub SUM_AMOUNT()
Dim c_row As Integer = 0
c_row = DataGrid_Pro.Rows.Count
Dim i As Integer
Dim add As Double = 0
For i = 0 To c_row - 1
Dim a1 As Integer = 0
a1 = DataGrid_Pro.Rows(i).Cells(8).Value
add = add + a1

Next

txt_SUM.Text = add
txt_SUM3.Text = CDbl(txt_SUM.Text) - ((CDbl(txt_vat.Text) / 100) * CDbl(txt_SUM.Text))


End Sub



Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click


Call INSERT_DataOn_G()
' If M_ConnStr.c_TMP12 = "1" Then





' txt_amount.Text = "1"
'TextBox6.Focus()
'txt_amount.Enabled = False
'txt_ID_Pro.Text = ""
'TextBox4.Text = ""
'txt_Name_pro.Text = ""
'txt_SUM.Text = "0"
'txt_SUM3.Text = "0"
'txt_All.Text = ""
'txt_prices.Text = ""
'TextBox5.Text = ""
'TextBox6.Text = ""
'txt_amount.Text = ""

'Else
'txt_amount.Enabled = True
'txt_amount.Focus()
'End If
End Sub
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 17:05:39 By : off
 


 

No. 11

Guest


txt_SUM3.Text = FormatNumber(CDbl(txt_SUM.Text) - ((CDbl(txt_vat.Text) / 100) * CDbl(txt_SUM.Text)),1)

ลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 18:31:44 By : Thep
 


 

No. 12

Guest


ได้แล้วครั No. 11 คุณสุดยอดจริงๆ พรุ่งนี้ผมต้องส่งงานแล้ว ขอบคุณมากๆครับ และทุกๆคนที่เข้ามาตอบด้วยนะครับ ทุกคนมีส่วนทำให้ผมทำได้ สำคัญกับผมมากจริงๆ ขอบคุณทุกคนมากๆนะครับ



.>>>>>>>>>>สุดยอดดดดดด>>>>>>>>>> www.thaicreate.com <<<<<<<<<<<<<สุดยอดดดดด<<<<<<<<<<<<<,
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-14 19:12:09 By : off
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนผู้รู้ช่วยหน่อยนะครับ มีปัญหาเกี่ยวกับตัวเลขที่แสดงใน vb ครับ สำคัญกับผมมากๆเลยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่