ยินดีต้อนรับคุณ,
บุคคลทั่วไป
กรุณา
เข้าสู่ระบบ
หรือ
ลงทะเบียน
กันยายน 11, 2010, 02:18:37 AM
หน้าแรก
ช่วยเหลือ
เข้าสู่ระบบ
สมัครสมาชิก
Thai Developer Expert
|
Free and Shared Knowledge
|
Free Components
|
ThaiMoney class รองรับ 999 ล้าน
หน้า: [
1
]
ลงล่าง
« หน้าที่แล้ว
ต่อไป »
พิมพ์
ผู้เขียน
หัวข้อ: ThaiMoney class รองรับ 999 ล้าน (อ่าน 225 ครั้ง)
jirayu
Administrator
Full Member
ความนิยม: +14/-0
กระทู้: 158
ThaiMoney class รองรับ 999 ล้าน
«
เมื่อ:
มกราคม 15, 2010, 10:29:11 AM »
เผอิญลูกค้าออกบิลใบเดียวล่อไป 115 ล้าน ซึ่ง ThaiMoney class ไม่สามารถรองรับได้เลยแก้ให้มันได้
ไหนๆก็ไหนๆ เลยเขียนเป็น Method อิสระอันเดียว เพื่อการแก้ง่าย SayMoney.InThai(...)
เร็วขึ้นกว่าเดิมเพราะจะตรวจความกว้างก่อน หารด้วย 1000 หรือ หมื่นหรือล้าน ขึ้นอยู่กับความยาว
แล้วก็เลี่ยงการใช้ recursive นำไปใช้ในโปรแกรมได้เลยครับ
บิลสุดท้ายที่ลูกค้าออกคือ 312 ล้าน
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล
บันทึกการเข้า
jirayu
Administrator
Full Member
ความนิยม: +14/-0
กระทู้: 158
Re: ThaiMoney class รองรับ 999 ล้าน
«
ตอบ #1 เมื่อ:
มกราคม 15, 2010, 10:48:08 AM »
Algorhythm การคิดเงินแบบรวดเร็ว แบบไม่ตัดตำแหน่ง String
สมมุติว่าจำนวนเงิน 22135221
มากกว่าสิบล้านไหม
มากกว่า 22135221 Div 1000000 B = 22 ก็ได้ Level ล้าน
NextLevel 22135221-(1000000 * B)
มากกว่าล้านไหม
มากกว่า 2135221 Div 1000000 B = 2 ก็ได้ Level ล้าน
NextLevel = 2135221-(1000000 * B)
135221
มากกว่าแสนไหม
มากกว่า 135221 Div 100000 B = 1 ก็ได้ Level = แสน
NextLevel = 135200-(100000 * B)
35221
มากกว่าหมื่นไหม
มากกว่า 35221 Div 10000 B = 3 ก็ได้ Level หมื่น
NextLevel = 35200-(10000 * B)
5221
มากกว่าพันไหม
มากกว่า 5221 Div 1000 B = 5 ก็ได้ Level พัน
NextLevel = 5221-(1000 * B)
221
มากกว่าร้อยไหม
มากกว่า 221 Div 100 B = 2 ก็ได้ Level ร้อย
NextLevel = 221-(100 * B)
21
มากกว่าสิบไหม
มากกว่า 21 Div 10 B = 2 ก็ได้ Level สิบ
NextLevel = 21-(10*B)
1
เอาไปหาเลขตรงๆ
รูทีนบอกเงินหลักเดียว และแทนค่าคำว่าเอ็ดและยี่ ณช่วงตำแหน่งใน String
อย่าไปหาการหารตั้งแต่ล้านหาความกว้างให้ดีๆก่อนจะได้หาร จากตำแหน่งที่ต้องการไปเลย
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล
บันทึกการเข้า
magicstudent
Administrator
Hero Member
ความนิยม: +2/-0
กระทู้: 718
Re: ThaiMoney class รองรับ 999 ล้าน
«
ตอบ #2 เมื่อ:
มกราคม 22, 2010, 01:04:13 PM »
ขอบคุณครับอาจารย์ แล้วจะหาลูกค้าที่ออกบิลถึง 1000 ล้านเจอบ้างใหมครับ อย่างผมเนี่ย 555
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล
บันทึกการเข้า
Q-1
Administrator
Full Member
ความนิยม: +0/-0
กระทู้: 142
Re: ThaiMoney class รองรับ 999 ล้าน
«
ตอบ #3 เมื่อ:
กุมภาพันธ์ 01, 2010, 11:15:33 AM »
ขอบคุณคับ
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล
บันทึกการเข้า
หน้า: [
1
]
ขึ้นบน
พิมพ์
« หน้าที่แล้ว
ต่อไป »
กระโดดไป:
เลือกหัวข้อ:
-----------------------------
เกี่ยวกับ Thai Developer Expert
-----------------------------
=> ประกาศเกี่ยวกับ Thai Developer Expert
=> ประกาศกิจกรรมของ Thai Developer Expert
=> อมรมโดย Thai Developer Expert Team
-----------------------------
Free and Shared Knowledge
-----------------------------
=> Free Components
=> Software
=> Source Code
-----------------------------
Delphi ,VB6 and Dotnet Developer
-----------------------------
=> Delphi Q & A
=> Delphi Component Guide
=> Delphi Tips
=> Delphi Hardware
=> C# and VB.Net
=> Visual Basic
-----------------------------
Web Application Developer
-----------------------------
=> Script
=> CMS
=> ASP and ASP .Net
=> Delphi for PHP
-----------------------------
Database and SQL
-----------------------------
=> LINQ
=> SQL
=> MySql
=> PostgreSQL
=> SQL Server
=> FirebirdSQL
-----------------------------
Open Source
-----------------------------
=> Lazarus
=> Python ,Ruby and Scala...
=> Puppy Linux
-----------------------------
Mobile Developer
-----------------------------
=> iPhone Developer
=> Nokia Qt SDK
=> Windows Mobile
=> Android
-----------------------------
Software Engineering
-----------------------------
=> Software Engineering
=> Core Testing
-----------------------------
ประกาศ ซื้อขาย แลกเปลี่ยน
-----------------------------
=> ซื้อขาย แลกเปลี่ยน
=> ประกาศหาคนทำงาน
=> หางาน
-----------------------------
General Discussion
-----------------------------
=> Programmer Know how
=> ข่าวสารและประชาสัมพันธ์
=> Developer Pilot Guide
=> General Discussion
กำลังโหลด...