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 > C# Excel ทำยังไงการคำนวณนี้ ค่าถึงจะได้เท่ากัน ครับ



 

C# Excel ทำยังไงการคำนวณนี้ ค่าถึงจะได้เท่ากัน ครับ

 



Topic : 135315



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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



1

ผมลอง เช็คค่ากลับ ดูจาก 49.26 ลองคำนวณ ย้อนกลับไปดู มันได้ 48.9948
มีวิธี ตัดค่า Double ให้ได้ตามจุดทศนิยมตามต้องการไม๊ ครับ

ลองใน excel แล้วก็ไม่ได้ครับ

2

คือมันทวนกลับค่าเดิมไม่ได้



Tag : .NET, Excel (Excel.Application), C#, Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-06-19 21:55:39 By : lamaka.tor View : 999 Reply : 5
 

 

No. 1



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



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


การกำหนดค่า ทศนิยม กำหนดแค่ตอนแสดงผลเท่านั้นครับ ส่วน การคำนวณ ใช้ ค่าจริงในการคำนวณ

ค่าเป็น real ก็ให้ ผลลัพธ์ มันเป็น real ตามต้นฉบับ ไม่ต้อง round ตัดค่าทศนิยมออก
ยกเว้นจำเป็นจริงๆ

A =RANDOM()*5.2 + 10 ไม่ต้องใส่ round ในสูตร แต่ให้ใช้ format ของ cell แทน ในการแสดงผล

แต่ยังไงก็ตาม การทวนค่ากลับตาม การเห็น ก็จะไม่ได้ผลลัพธ์ที่ถูกต้อง ต้องเข้าใจในส่วนนี้ด้วย


ดูง่าย การซืั้อของและส่วนลดเป็น เปอร์เซนต์ เวลาจ่ายตังมันไม่เคยตรงจริงๆ เมื่อใช้ทศนิยม 4 หลัก
คนจ่ายก็จะจ่ายแบบตัดเศษทั้งนั้น ส่วนคนรับก็จะคิดปัดเศษขึ้น 55555
มันถีงมี ฟังก์ชั่น floor ceiling มาให้ใช้








ประวัติการแก้ไข
2020-06-20 14:41:17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-20 14:35:21 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-06-20 14:35:21
รายละเอียดของการตอบ ::
คือผมอยากเช็คกลับด้วยครับ

หมายถึงว่า เวลาเรา กดเครื่องคิดเลข เราก็อยากได้ตัวเลขหลักๆ
เช่น
22/7
ค่าออกมาเป็น 3.14285714285714..............
แต่เวลาโชว์ เราก็โชวแค่ 3.14 ใช่ไม๊ ครับ

ประเด็นมันอยู่ตรงที่ว่า ถ้าเราเอา 3.14 ย้อนกลับ มันจะไม่ใช่ค่าเดิม

3.14*7 = 21.98

ตัวเลขนี้แค่ยกตัวอย่างครับ

สิ่งที่ผมอยากได้ไม่ใช่ 3.14285714285714.... แต่ อยากได้ 3.14

เพราะเมื่อเราเอา ค่าที่ได้ จาก 22/7 ไป Operate เรื่อย ๆ ค่ามันก็จะห่างจาก 3.14 เรื่อยๆ
จนท้ายสุด มันสอบมาไม่ได้ ถึงค่าที่เราโชว ครับ
มันกลายเป็นสอบมายังค่าที่ซ่อนอยู่ คือ 3.14285714285714....

มีวิธีไม๊ครับ ที่เราจะให้ได้ค่า 3.14 แล้วเอา 3.14 ไปคิด ไม่ใช่ 3.14285714285714.... ครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-20 17:40:05 By : lamaka.tor
 

 

No. 3



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



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


ค่าที่ได้มันถูกแปลงตัดค่าบางตัวออกไป แล้วมันจะย้อนกลับได้ยังไงล่ะครับ

สงสัยจะไม่ใช่นักคณิตศาสตร์ เลยงงกับ จำนวนจริง กับจำนวนปัดเศษ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-20 19:02:21 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

เรื่องนั้นผมรู้อยู่แล้วละครับ

แต่ปัญหาของผมคือ ไม่สาสารถ สอบกลับค่าเดิมได้
และ กำหนดให้โช์วค่าแค่ จุด 3 ตำแหน่ง นะครับ

ซึ่งถ้าเราเอาค่าที่ตาเห็นมาคำนวณ ย้อนกลับมา มันไม่ได้

ภาพนี้น่าจะชัดนะครับ

55

ประเด็นของปัญหามันคือ ค่าที่เรา ตัดจุด แบบที่เราเห็นด้วยตา นี่แหละครับ
ยิ่งเราตัดเยอะ ค่าก็ยิ่งเพี้ยนไปเรื่อยๆ

แต่ มันจำเป็นต้องตัด เป็น 3-4 จุด ครับ
ตัวที่หายไปจากสายตา และทำให้ค่าเปลี่ยนนี่แหละ ที่ผมยังแก้มันไม่ได้ครับ

ไม่ทราบว่าพอจะมีวิธีแก้ไม๊ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-20 19:36:20 By : lamaka.tor
 


 

No. 5



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



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


ก็มันแก้ไม่ได้ไงครับ เมื่อคุณเอาค่าที่มีการแปลงค่าแล้วมาใช้ มันจะกลับไปได้ยังไง

ฟันธงกลับไม่ได้ นอกจากว่า คุณจะค่าจำนวนจริงที่หาได้ โดยไม่ตัดเศษ มาใช้ จะใกล้เคียงมากกว่า
แถมยังไม่ได้ 100% เหมือนกัน แต่ก็ได้ค่าที่ใกล้เคียงที่สุดแล้ว
จำนวน ไบต์ ในการใช้คำนวณมันมีจำกัด ยิ่งหาร อัตตราเศษส่วนมากเท่าไหร่ ยิ่งเพี้ยนมากเท่านั้น

มีแต่จะตั้งค่าแตกต่างไว้ +/- เท่าไหร่ ก็ว่ากันไป แต่ให้ตรงเป๊ะๆ เลย มันทำไม่ได้ เพราะมันเป็นเลขเศษส่วน
ไม่ใช่เลขจำนวนเต็ม แค่ 1 / 3 ค่าที่ได้ 0.33333333.......... มันก็ย้อนกลับค่าจริงไม่ได้แล้ว
เอา 3 ไปคูณ มันได้ ไม่ถีง 1 ซักที่ นอกจาก จะเอา 1 x 3 / 3 ถีงจะได้ ค่า 1
1 / 3 = 0.333333333 เอา ผลลัพธ์ ตัดเศษ ตรงไหนก็ได้ 0.33333333 x 3 ได้ 0.99999999 ไม่ได้ 1 ซักที
แต่ ถ้า เอา 1 x 3 / 3 ก็จะได้ 1 เพราะเอาค่าตั้งต้นมาใช้
อย่าลืม หลักการ คูณ หาร บวก ลบ ล่ะครับ อะไรมาก่อนมาหลัง พื้นฐานที่จะทำให้ค่ามันใกล้เคียงมากที่สุด

ซ.ต.พ.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-20 21:24:08 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : C# Excel ทำยังไงการคำนวณนี้ ค่าถึงจะได้เท่ากัน ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่