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

การปัดเศษค่าตัวเลขหมายถึงการแทนที่ด้วยค่าอื่นที่มีค่าเท่ากันโดยประมาณ แต่มีการแสดงที่สั้นกว่าง่ายกว่าหรือชัดเจนกว่า


11
ฉันจะปัดเศษเป็นนาทีที่ใกล้ที่สุดได้อย่างไร
มีฟังก์ชั่นที่ง่ายสำหรับการปัดเศษขึ้นDateTimeที่ใกล้ที่สุด 15 นาที? เช่น 2011-08-11 16:59 กลายเป็น 2011-08-11 17:00 2011-08-11 17:00 อยู่ตาม 2011-08-11 17:00 2011-08-11 17:01 กลายเป็น 2011-08-11 17:15
160 c#  datetime  rounding 

9
วิธีการปัดเศษขึ้นตัวเลขใน Javascript?
ฉันต้องการใช้จาวาสคริปต์เพื่อปัดเศษตัวเลข เนื่องจากตัวเลขเป็นสกุลเงินฉันต้องการให้ปัดเศษขึ้นในตัวอย่างเหล่านี้ (ทศนิยม 2 ตำแหน่ง): 192.168 => 192.20 192.11 => 192.20 192.21 => 192.30 192.26 => 192.30 192.20 => 192.20 จะบรรลุสิ่งนี้ได้อย่างไรโดยใช้ Javascript ฟังก์ชัน Javascript ในตัวจะปัดเศษตัวเลขตามตรรกะมาตรฐาน (น้อยกว่าและมากกว่า 5 เพื่อปัดเศษขึ้น)

4
ทำไมค่าทศนิยมของ 4 * 0.1 ดูดีใน Python 3 แต่ 3 * 0.1 ไม่ได้?
ฉันรู้ว่าทศนิยมส่วนใหญ่ไม่ได้เป็นตัวแทนลอยจุดที่แน่นอน ( ลอยคณิตศาสตร์จุดเสีย? ) แต่ฉันไม่เห็นสาเหตุที่4*0.1พิมพ์ออกมาเป็นอย่างดี0.4แต่3*0.1ไม่ใช่เมื่อค่าทั้งสองมีการแสดงทศนิยมที่น่าเกลียด: >>> 3*0.1 0.30000000000000004 >>> 4*0.1 0.4 >>> from decimal import Decimal >>> Decimal(3*0.1) Decimal('0.3000000000000000444089209850062616169452667236328125') >>> Decimal(4*0.1) Decimal('0.40000000000000002220446049250313080847263336181640625')

9
การปัดเศษทศนิยมใน Ruby
ฉันมีปัญหาในการปัดเศษ ฉันมีทุ่นซึ่งฉันอยากปัดให้เป็นทศนิยมหนึ่งร้อย อย่างไรก็ตามฉันสามารถใช้.roundซึ่งเปลี่ยนเป็น int เท่านั้นความหมาย2.34.round # => 2. มีวิธีเอฟเฟกต์ง่ายๆที่จะทำบางสิ่งเช่น2.3465 # => 2.35

20
วิธีการปัดเศษตัวเลขเป็นตัวเลขสำคัญใน Python
ฉันต้องปัดเศษทศนิยมเพื่อให้แสดงใน UI เช่นกับบุคคลสำคัญ: 1234 -> 1,000 0.12 -> 0.1 0.012 -> 0.01 0.062 -> 0.06 6253 -> 6000 1999 -> 2000 มีวิธีที่ดีในการทำเช่นนี้โดยใช้ห้องสมุด Python หรือฉันต้องเขียนเอง?
148 python  math  rounding 


6
Java ปัดเศษจำนวนเท่าใดก็ได้
Наэтотвопросестьответына Stack Overflow เรียงต่อกันได้: ออกเดินทาง ฉันดูเหมือนจะไม่พบคำตอบที่ฉันกำลังมองหาเกี่ยวกับคำถามง่าย ๆ : ฉันจะปัดเศษตัวเลขใด ๆ ให้ใกล้เคียงที่สุดได้intอย่างไร ตัวอย่างเช่นเมื่อใดก็ตามที่จำนวน 0.2, 0.7, 0.2222, 0.4324, 0.99999 ฉันต้องการให้ผลลัพธ์เป็น 1 จนถึงตอนนี้ฉันมี int b = (int) Math.ceil(a / 100); ดูเหมือนว่าจะไม่ได้ทำงานแม้ว่า
146 java  math  int  rounding 

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

8
ความแตกต่างระหว่าง toFixed () และ toPrecision ()?
ฉันยังใหม่กับ JavaScript และเพิ่งค้นพบtoFixed()และtoPrecision()ปัดเศษตัวเลข อย่างไรก็ตามฉันคิดไม่ออกว่าความแตกต่างระหว่างทั้งสองคืออะไร อะไรคือความแตกต่างระหว่างnumber.toFixed()และnumber.toPrecision()?

19
round () ดูเหมือนจะปัดเศษไม่ถูกต้อง
เอกสารประกอบสำหรับฟังก์ชันround ()ระบุว่าคุณส่งตัวเลขและตำแหน่งที่ผ่านจุดทศนิยมไปจนถึงรอบ ดังนั้นควรทำสิ่งนี้: n = 5.59 round(n, 1) # 5.6 แต่ในความเป็นจริงแล้วความแปลกประหลาดของจุดลอยตัวเก่า ๆ กำลังคืบคลานเข้ามาและคุณจะได้รับ: 5.5999999999999996 สำหรับวัตถุประสงค์ของ UI 5.6ที่ฉันต้องแสดงผล ฉันโผล่ไปทั่วอินเทอร์เน็ตและพบเอกสารบางอย่างที่ขึ้นอยู่กับการใช้งาน Python ของฉัน น่าเสียดายที่สิ่งนี้เกิดขึ้นกับทั้งเครื่อง Windows dev และเซิร์ฟเวอร์ Linux แต่ละเครื่องที่ฉันได้ลองใช้ ดูที่นี่ด้วย ขาดการสร้างห้องสมุดกลมของตัวเองมีวิธีใดบ้าง?


12
Scala Doubles และ Precision
มีฟังก์ชันที่สามารถตัดหรือปัดเศษ Double ได้หรือไม่? จนถึงจุดหนึ่งในรหัสของฉันฉันต้องการให้ตัวเลขเช่น: 1.23456789ถูกปัดเศษเป็น1.23

8
Javascript: ปัดเศษขึ้นเป็นผลคูณถัดไปของ 5
ฉันต้องการฟังก์ชันยูทิลิตี้ที่รับค่าจำนวนเต็ม (มีความยาวตั้งแต่ 2 ถึง 5 หลัก) ซึ่งจะปัดเศษขึ้นเป็นตัวคูณถัดไปของ 5 แทนที่จะเป็นตัวคูณที่ใกล้ที่สุดของ 5 นี่คือสิ่งที่ฉันได้รับ: function round5(x) { return (x % 5) >= 2.5 ? parseInt(x / 5) * 5 + 5 : parseInt(x / 5) * 5; } เมื่อฉันวิ่งround5(32)มันให้ฉัน30โดยที่ฉันต้องการ 35 เมื่อฉันวิ่งround5(37)มันให้ฉัน35ที่ฉันต้องการ 40 เมื่อฉันวิ่งround5(132)มันให้ฉัน130ที่ฉันต้องการ 135 เมื่อฉันวิ่งround5(137)มันให้ฉัน135ที่ฉันต้องการ 140 ฯลฯ ... ฉันต้องทำอย่างไร

3
การแปลงคู่เป็นจำนวนเต็มใน java
ใน Java ฉันต้องการแปลงคู่เป็นจำนวนเต็มฉันรู้ว่าคุณทำสิ่งนี้: double x = 1.5; int y = (int)x; คุณจะได้รับ y = 1 หากคุณทำสิ่งนี้: int y = (int)Math.round(x); คุณน่าจะได้ 2 อย่างไรก็ตามฉันสงสัยว่า: เนื่องจากบางครั้งการแทนค่าจำนวนเต็มสองครั้งดูเหมือน 1.9999999998 หรือบางอย่างมีความเป็นไปได้หรือไม่ที่การคัดเลือกคู่ที่สร้างขึ้นผ่านทาง Math.round () จะยังคงส่งผลให้ตัวเลขที่ถูกตัดทอนลง กว่าจำนวนปัดเศษที่เรากำลังมองหา (เช่น: 1 แทนที่จะเป็น 2 ในรหัสที่แสดง)? (และใช่ฉันไม่ได้หมายความว่ามันเป็นเช่นนี้: มีใด ๆค่าสำหรับ X, Y ที่จะแสดงผลที่เป็นมากกว่าการตัดทอนเป็นตัวแทนโค้งมนของ x หรือไม่?) ถ้าเป็นเช่นนั้น: มีวิธีที่ดีกว่าในการเพิ่มค่า int สองเท่าโดยไม่เสี่ยงต่อการตัดทอนหรือไม่? คิดอะไรบางอย่าง: Math.round (x) …
114 java  casting  double  rounding 

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