คำถามติดแท็ก decimal

ทศนิยมเป็นชื่อของระบบเลขฐานสิบทั่วไปของเรา นอกจากนี้ยังอาจอ้างถึงค่าที่ไม่ใช่จำนวนเต็มซึ่งแสดงด้วยจุดทศนิยม


30
วิธีการปัดเศษทศนิยมเป็นทศนิยมใน Java
สิ่งที่ฉันต้องการคือวิธีการแปลง double เป็น string ซึ่งปัดโดยใช้ half-up method เช่นถ้าทศนิยมที่จะปัดเศษเป็น 5 มันจะปัดเศษเป็นตัวเลขถัดไปเสมอ นี่เป็นวิธีมาตรฐานในการปัดเศษที่คนส่วนใหญ่คาดหวังในสถานการณ์ส่วนใหญ่ ฉันต้องการให้แสดงเฉพาะตัวเลขที่สำคัญเท่านั้น - นั่นคือไม่ควรมีเลขศูนย์ต่อท้าย ฉันรู้วิธีหนึ่งในการทำเช่นนี้คือการใช้String.formatวิธีการ: String.format("%.5g%n", 0.912385); ผลตอบแทน: 0.91239 อันไหนดี แต่มันจะแสดงตัวเลขที่มีทศนิยม 5 ตำแหน่งเสมอแม้ว่ามันจะไม่สำคัญ: String.format("%.5g%n", 0.912300); ผลตอบแทน: 0.91230 วิธีอื่นคือใช้DecimalFormatter: DecimalFormat df = new DecimalFormat("#.#####"); df.format(0.912385); ผลตอบแทน: 0.91238 อย่างไรก็ตามอย่างที่คุณเห็นนี่ใช้การปัดเศษแบบครึ่งคู่ นั่นคือมันจะปัดเศษหากตัวเลขก่อนหน้านี้เป็นเลขคู่ สิ่งที่ฉันต้องการคือ: 0.912385 -> 0.91239 0.912300 -> 0.9123 วิธีที่ดีที่สุดในการบรรลุสิ่งนี้ใน Java คืออะไร?
1259 java  decimal  rounding  digits 

14
แปลงทศนิยมให้เป็นสองเท่า
ฉันต้องการใช้ a Track-Barเพื่อเปลี่ยนFormความทึบของ นี่คือรหัสของฉัน: decimal trans = trackBar1.Value / 5000; this.Opacity = trans; เมื่อฉันสร้างแอปพลิเคชันมันทำให้เกิดข้อผิดพลาดต่อไปนี้: ไม่สามารถแปลงประเภทdecimalเป็นdouble ผมได้ลองใช้transและdoubleแต่แล้วControlไม่ทำงาน รหัสนี้ทำงานได้ดีในโครงการ VB.NET ที่ผ่านมา

17
ฉันจะปัดเศษทศนิยมเป็นทศนิยม 2 ตำแหน่ง (สำหรับผลลัพธ์บนหน้าเว็บ)
เมื่อแสดงค่าทศนิยมในขณะนี้ด้วย .ToString()ความแม่นยำเหมือนทศนิยม 15 ตำแหน่งและเนื่องจากฉันใช้เพื่อแทนดอลลาร์และเซ็นต์ฉันต้องการเฉพาะผลลัพธ์เป็นทศนิยม 2 ตำแหน่ง ฉันใช้รูปแบบของ.ToString()สิ่งนี้หรือไม่?
649 c#  .net  decimal  rounding 



3
ทศนิยมเทียบกับทศนิยมใน ActiveRecord
บางครั้งประเภทข้อมูล Activerecord ทำให้ฉันสับสน เอ่อบ่อย หนึ่งในคำถามที่นิรันดร์ของฉันคือสำหรับกรณีที่กำหนด ฉันควรใช้:decimalหรือ:float? ฉันเคยเจอลิงก์นี้บ่อยครั้งActiveRecord:: ทศนิยม vs: float? แต่คำตอบไม่ชัดเจนพอที่ฉันจะมั่นใจ: ฉันได้เห็นหลายกระทู้ที่ผู้คนแนะนำให้แบนไม่เคยใช้ทศนิยมและใช้ทศนิยมเสมอ ฉันเคยเห็นคำแนะนำจากบางคนเพื่อใช้โฟลตสำหรับการใช้งานทางวิทยาศาสตร์เท่านั้น นี่คือตัวอย่างบางกรณี: Geolocation / ละติจูด / ลองจิจูด: -45.756688, 120.5777777... อัตราส่วน / ร้อยละ: 0.9, 1.25, 1.333, 1.4143... ฉันเคยใช้:decimalในอดีต แต่ฉันพบว่าการจัดการกับBigDecimalวัตถุใน Ruby นั้นไม่สะดวกสบายเมื่อเทียบกับการลอย ฉันรู้ว่าฉันสามารถใช้:integerเพื่อเป็นตัวแทนเงิน / เซ็นต์ได้เช่นกัน แต่มันก็ไม่เหมาะสำหรับกรณีอื่น ๆ เช่นเมื่อปริมาณที่ความแม่นยำอาจเปลี่ยนแปลงไปตามกาลเวลา ข้อดี / ข้อเสียของการใช้แต่ละข้อมีอะไรบ้าง มีกฎอะไรบ้างที่จะรู้ว่าควรใช้แบบไหน

8
จะเก็บค่าทศนิยมใน SQL Server ได้อย่างไร?
ฉันพยายามหาชนิดข้อมูลทศนิยมของคอลัมน์ใน SQL Server ฉันต้องสามารถเก็บค่าเช่น 15.5, 26.9, 24.7, 9.8 ฯลฯ ฉันกำหนดdecimal(18, 0)ให้กับชนิดข้อมูลคอลัมน์ แต่สิ่งนี้ไม่อนุญาตให้ฉันเก็บค่าเหล่านี้ วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร?
272 sql  sql-server  types  decimal 

12
เมื่อใดฉันจึงควรใช้สองเท่าแทนทศนิยม
ฉันสามารถตั้งชื่อข้อดีสามข้อให้กับการใช้double(หรือfloat) แทนdecimal: ใช้หน่วยความจำน้อยลง เร็วขึ้นเนื่องจากการดำเนินการทางคณิตศาสตร์ของจุดลอยตัวได้รับการสนับสนุนโดยตัวประมวลผล สามารถแสดงช่วงของตัวเลขที่มากขึ้น แต่ข้อดีเหล่านี้ดูเหมือนจะใช้เฉพาะกับการคำนวณการดำเนินการที่เข้มข้นเช่นที่พบในซอฟต์แวร์การสร้างแบบจำลอง แน่นอนไม่ควรใช้คู่ผสมเมื่อต้องการความแม่นยำเช่นการคำนวณทางการเงิน ดังนั้นมีเหตุผลเชิงปฏิบัติใดที่เคยเลือกdouble(หรือfloat) แทนที่จะdecimalใช้แอปพลิเคชัน "ปกติ" แก้ไขเพื่อเพิ่ม: ขอบคุณสำหรับคำตอบที่ยอดเยี่ยมทั้งหมดฉันเรียนรู้จากพวกเขา คำถามอีกข้อหนึ่ง: มีคนเพียงไม่กี่คนที่ชี้ให้เห็นว่าการเป็นตัวแทนจำนวนจริงนั้นแม่นยำยิ่งขึ้น เมื่อประกาศฉันจะคิดว่าพวกเขามักจะเป็นตัวแทนของพวกเขาอย่างถูกต้องเช่นกัน แต่มันเป็นความจริงหรือไม่ที่ความแม่นยำอาจลดลง (บางครั้งมีนัยสำคัญ) เมื่อดำเนินการกับจุดลอยตัว?

22
รับส่วนทศนิยมของตัวเลขด้วย JavaScript
ฉันมีตัวเลขลอยเหมือนและ3.21.6 ฉันต้องการแยกตัวเลขออกเป็นส่วนจำนวนเต็มและทศนิยม ตัวอย่างเช่นค่าของ3.2จะถูกแบ่งออกเป็นสองตัวเลขคือ3และ0.2 การรับส่วนจำนวนเต็มเป็นเรื่องง่าย: n = Math.floor(n); แต่ฉันมีปัญหาในการรับส่วนทศนิยม ฉันได้ลองสิ่งนี้แล้ว: remainer = n % 2; //obtem a parte decimal do rating แต่มันไม่ทำงานอย่างถูกต้องเสมอไป รหัสก่อนหน้ามีผลลัพธ์ต่อไปนี้: n = 3.1 => remainer = 1.1 สิ่งที่ฉันหายไปที่นี่

3
ฉันจะตีความความแม่นยำและมาตราส่วนของตัวเลขในฐานข้อมูลได้อย่างไร
ฉันมีคอลัมน์ต่อไปนี้ระบุไว้ในฐานข้อมูล: ฐานสิบ (5,2) คนเราตีความสิ่งนี้ได้อย่างไร ตามคุณสมบัติในคอลัมน์ตามที่ดูในสตูดิโอการจัดการเซิร์ฟเวอร์ SQL ฉันจะเห็นว่ามันหมายถึง: ทศนิยม (ความแม่นยำเป็นตัวเลขขนาดสเกลตัวเลข) ความแม่นยำและสเกลหมายถึงอะไรในแง่ของจริง มันจะง่ายต่อการตีความนี้เป็นทศนิยมที่มี 5 หลักและสองตำแหน่งทศนิยม ... เช่น 12345.12 ป.ล. ฉันสามารถระบุคำตอบที่ถูกต้องจากเพื่อนร่วมงานได้ แต่มีปัญหาในการหาคำตอบออนไลน์ เช่นนี้ฉันต้องการมีคำถามและคำตอบเอกสารที่นี่ใน stackoverflow สำหรับการอ้างอิงในอนาคต

16
Python JSON ทำให้เป็นวัตถุฐานสิบ
ฉันมีDecimal('3.9')เป็นส่วนหนึ่งของวัตถุและต้องการการเข้ารหัสนี้ให้สตริง JSON {'x': 3.9}ซึ่งควรมีลักษณะดังนี้ ฉันไม่สนใจเกี่ยวกับความแม่นยำในฝั่งไคลเอ็นต์ดังนั้นการลอยก็ดี มีวิธีที่ดีในการทำให้เป็นอนุกรมนี้หรือไม่ JSONDecoder ไม่ยอมรับวัตถุทศนิยมและแปลงเป็นทศนิยมก่อนหน้าให้ผลตอบแทน{'x': 3.8999999999999999}ที่ผิดและจะเสียแบนด์วิดท์ขนาดใหญ่


16
ความแม่นยำและมาตราส่วนทศนิยมใน EF Code First
ฉันกำลังทดลองกับวิธีแรกของรหัสนี้ แต่ตอนนี้ฉันรู้แล้วว่าคุณสมบัติของ System.Decimal ได้รับการแมปกับคอลัมน์ sql ของทศนิยมประเภท (18, 0) ฉันจะตั้งค่าความแม่นยำของคอลัมน์ฐานข้อมูลได้อย่างไร


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.