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

Double เป็นประเภทข้อมูลดั้งเดิมที่ใช้ในการจัดเก็บตัวเลขเศษส่วนที่มีจุดลอยตัวที่มีความแม่นยำสองเท่า (มักเป็น 64 บิต)

9
ประเภทข้อมูลลอยและสองครั้งใน Java
ชนิดข้อมูลลอยเป็นจุดลอยตัว IEEE 754 32 บิตที่มีความแม่นยำเดียวและชนิดข้อมูลสองเท่าเป็นทศนิยมลอยตัว 64 บิต IEEE 754 ที่มีความแม่นยำสองระดับ มันหมายความว่าอะไร? และเมื่อใดฉันจึงควรใช้การลอยแทนการใช้สองเท่าหรือในทางกลับกัน

11
เปรียบเทียบสองเท่ากับศูนย์โดยใช้ epsilon
วันนี้ฉันดูรหัส C ++ (เขียนโดยคนอื่น) และพบส่วนนี้: double someValue = ... if (someValue < std::numeric_limits<double>::epsilon() && someValue > -std::numeric_limits<double>::epsilon()) { someValue = 0.0; } ฉันพยายามที่จะคิดออกว่ามันทำให้รู้สึก เอกสารสำหรับepsilon()พูดว่า: ฟังก์ชันส่งคืนความแตกต่างระหว่าง 1 และค่าที่น้อยที่สุดที่มากกว่า 1 ที่สามารถแทนได้ [โดย double] สิ่งนี้นำไปใช้กับ 0 เช่นกันนั่นepsilon()คือค่าที่เล็กที่สุดมากกว่า 0 หรือไม่ หรือมีตัวเลขระหว่าง0และ0 + epsilonที่สามารถแทนด้วยdouble? หากไม่แสดงว่าการเปรียบเทียบนั้นไม่เทียบเท่าsomeValue == 0.0หรือไม่
214 c++  double 

3
เหตุใดการแปลงแบบไปกลับผ่านสตริงจึงไม่ปลอดภัยสำหรับการดับเบิล
เมื่อเร็ว ๆ นี้ฉันต้องเรียงลำดับคู่เป็นข้อความแล้วจึงนำกลับมาใช้ใหม่ ดูเหมือนว่าค่าจะไม่เทียบเท่า: double d1 = 0.84551240822557006; string s = d1.ToString("R"); double d2 = double.Parse(s); bool s1 = d1 == d2; // -> s1 is False แต่ตามMSDN: สตริงรูปแบบตัวเลขมาตรฐานตัวเลือก "R" ควรจะรับประกันความปลอดภัยแบบไปกลับ ตัวระบุรูปแบบ round-trip ("R") ถูกใช้เพื่อให้แน่ใจว่าค่าตัวเลขที่ถูกแปลงเป็นสตริงจะถูกวิเคราะห์คำกลับเป็นค่าตัวเลขเดียวกัน ทำไมสิ่งนี้ถึงเกิดขึ้น
185 c#  double  tostring  precision 

17
ฉันจะแปลง double เป็นสตริงใน C ++ ได้อย่างไร
ฉันต้องการเก็บ double เป็นสตริง ฉันรู้ว่าฉันสามารถใช้งานได้printfถ้าฉันต้องการแสดง แต่ฉันต้องการเก็บไว้ในตัวแปรสตริงเพื่อที่ฉันจะสามารถเก็บไว้ในแผนที่ได้ในภายหลัง (ตามค่าไม่ใช่กุญแจ )
171 c++  string  double 

9
วิธีการปัด Double ไปยัง Int ที่ใกล้ที่สุดอย่างรวดเร็ว
ฉันพยายามสร้างเครื่องคิดเลขของอัตราการเติบโต ( Double) ที่จะปัดเศษผลลัพธ์เป็นจำนวนเต็มที่ใกล้ที่สุดและคำนวณใหม่จากที่นั่นเช่น: let firstUsers = 10.0 let growth = 0.1 var users = firstUsers var week = 0 while users < 14 { println("week \(week) has \(users) users") users += users * growth week += 1 } แต่ฉันไม่สามารถทำได้จนถึงตอนนี้ แก้ไข ฉันชอบมันมาก: var firstUsers = 10.0 let growth = 0.1 …
170 swift  int  double  rounding 

15
C # Double - ToString () การจัดรูปแบบทศนิยมสองตำแหน่ง แต่ไม่มีการปัดเศษ
ฉันจะฟอร์แมต a เป็นDoublea Stringใน C # เพื่อให้มีทศนิยมสองตำแหน่งเท่านั้นได้อย่างไร ถ้าฉันใช้String.Format("{0:0.00}%", myDoubleValue)จำนวนนั้นจะถูกปัดเศษและฉันต้องการตัดทอนแบบง่ายโดยไม่ต้องปัดเศษ ฉันยังต้องการให้การแปลงStringเป็นเรื่องละเอียดอ่อนทางวัฒนธรรม
153 c#  string  double 

3
ทำไมการเพิ่ม 0.1 หลาย ๆ ครั้งจึงไม่สูญเสีย
ฉันรู้ว่า0.1เลขทศนิยมไม่สามารถแสดงว่ามีจำนวนไบนารี จำกัด ( คำอธิบาย ) ดังนั้นจะสูญเสียบางอย่างแม่นยำและจะไม่ตรงdouble n = 0.1 0.1บนมืออื่น ๆสามารถแสดงว่าเพราะมันเป็น0.50.5 = 1/2 = 0.1b ต้องบอกว่ามันเป็นที่เข้าใจว่าการเพิ่ม0.1 สามครั้งจะไม่ให้0.3รหัสดังต่อไปนี้false: double sum = 0, d = 0.1; for (int i = 0; i < 3; i++) sum += d; System.out.println(sum == 0.3); // Prints false, OK แต่แล้วการเพิ่ม0.1 ห้าครั้งจะให้ได้0.5อย่างไร พิมพ์รหัสต่อไปนี้true: double sum = 0, …

21
รักษาความแม่นยำด้วย double ใน Java
public class doublePrecision { public static void main(String[] args) { double total = 0; total += 5.6; total += 5.8; System.out.println(total); } } พิมพ์รหัสข้างต้น: 11.399999999999 ฉันจะได้รับสิ่งนี้เพื่อพิมพ์ (หรือใช้เป็น) 11.4 ได้อย่างไร

3
ทำไมค่าสุ่มนี้จึงมีการแจกแจง 25/75 แทนที่จะเป็น 50/50
แก้ไข:ดังนั้นโดยทั่วไปสิ่งที่ฉันพยายามที่จะเขียนเป็นกัญชา 1 doubleบิตสำหรับ ฉันต้องการที่จะแมปdoubleไปtrueหรือfalseมีโอกาสที่ 50/50 สำหรับที่ฉันเขียนโค้ดที่เลือกตัวเลขสุ่ม(เช่นเป็นตัวอย่างฉันต้องการใช้กับข้อมูลที่มี regularities และยังได้ผลลัพธ์ 50/50)ตรวจสอบบิตสุดท้ายและส่วนเพิ่มyหากเป็น 1 หรือnถ้าเป็น 0 แต่รหัสนี้อย่างต่อเนื่องส่งผลให้ใน 25% yและ n75% ทำไมมันไม่ 50/50 และทำไมการกระจายแบบแปลก ๆ แต่ตรงไปตรงมา (1/3) public class DoubleToBoolean { @Test public void test() { int y = 0; int n = 0; Random r = new Random(); for (int i = 0; i …

10
วิธีการใช้อินฟินิตี้ใน Java?
Java มีอะไรที่แสดงถึงอนันต์สำหรับข้อมูลตัวเลขทุกชนิดหรือไม่ มันนำไปใช้อย่างไรเช่นที่ฉันสามารถดำเนินการทางคณิตศาสตร์กับมันได้หรือไม่ เช่น int myInf = infinity; //However it is done myInf + 5; //returns infinity myInf*(-1); //returns negative infinity ฉันได้ลองใช้จำนวนมาก แต่ฉันต้องการทางออกที่เหมาะสมและง่าย
139 java  double  infinity 

12
เป็นไปได้ไหมที่จะได้ 0 โดยการลบเลขทศนิยมสองตัวที่ไม่เท่ากัน?
เป็นไปได้ไหมที่จะหารด้วย 0 (หรืออินฟินิตี้) ในตัวอย่างต่อไปนี้ public double calculation(double a, double b) { if (a == b) { return 0; } else { return 2 / (a - b); } } ในกรณีปกติจะไม่แน่นอน แต่สิ่งที่ถ้าaและbมีความใกล้ชิดสามารถ(a-b)ส่งผลในการเป็น0เนื่องจากความแม่นยำของการคำนวณ? โปรดทราบว่าคำถามนี้ใช้สำหรับ Java แต่ฉันคิดว่ามันจะใช้ได้กับภาษาโปรแกรมส่วนใหญ่


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


9
การแบ่งหน้า MySQL โดยไม่ต้องค้นหาซ้ำ
ฉันสงสัยว่ามีวิธีรับจำนวนผลลัพธ์จากแบบสอบถาม MySQL หรือไม่และในเวลาเดียวกันก็ จำกัด ผลลัพธ์ด้วย วิธีการแบ่งหน้า (ตามที่ฉันเข้าใจ) ก่อนอื่นฉันจะทำสิ่งที่ชอบ query = SELECT COUNT(*) FROM `table` WHERE `some_condition` หลังจากที่ฉันได้รับ num_rows (แบบสอบถาม) ฉันมีจำนวนผลลัพธ์ แต่เพื่อ จำกัด ผลลัพธ์ของฉันจริงๆฉันต้องทำแบบสอบถามที่สองเช่น: query2 = SELECT COUNT(*) FROM `table` WHERE `some_condition` LIMIT 0, 10 คำถามของฉัน: มีการดึงจำนวนผลลัพธ์ทั้งหมดที่จะได้รับหรือไม่และ จำกัด ผลลัพธ์ที่ส่งคืนในแบบสอบถามเดียวหรือไม่ หรือวิธีที่มีประสิทธิภาพมากขึ้นในการทำเช่นนี้ ขอบคุณ!
115 mysql  pagination  double 

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