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

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

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 

10
เหตุใดการหารสอง int จึงไม่ให้ค่าที่เหมาะสมเมื่อกำหนดให้เป็นสองเท่า
เป็นอย่างไรบ้างในตัวอย่างต่อไปนี้ int a = 7; int b = 3; double c = 0; c = a / b; cลงเอยด้วยค่า 2 แทนที่จะเป็น 2.3333 อย่างที่คาดหวัง ถ้าaและbเป็นสองเท่าคำตอบจะเปลี่ยนเป็น 2.333 แต่แน่นอนเพราะc มันเป็นสองเท่ามันควรจะทำงานร่วมกับจำนวนเต็ม? แล้วทำไมถึงint/int=doubleไม่ได้ผล?

14
สวิฟต์สองครั้งเป็นสตริง
ก่อนที่ฉันจะอัปเดต xCode 6 ฉันไม่มีปัญหาในการส่งคู่เป็นสตริง แต่ตอนนี้ฉันมีข้อผิดพลาด var a: Double = 1.5 var b: String = String(a) มันทำให้ฉันมีข้อความแสดงข้อผิดพลาด "double is not convertible to string" มีวิธีอื่นที่จะทำได้หรือไม่?
108 swift  string  casting  double 

5
การแปลงคู่เป็น int ใน C #
ในรหัสของเราเรามีสองเท่าที่เราต้องแปลงเป็น int double score = 8.6; int i1 = Convert.ToInt32(score); int i2 = (int)score; ใครช่วยอธิบายทีว่าทำไมi1 != i2? ผลลัพธ์ที่ได้คือ: i1 = 9และi2 = 8.
108 c#  int  double 

6
Force point (“.”) เป็นตัวคั่นทศนิยมใน java
ขณะนี้ฉันใช้รหัสต่อไปนี้เพื่อพิมพ์สองครั้ง: return String.format("%.2f", someDouble); ใช้งานได้ดียกเว้น Java ใช้ตัวคั่นทศนิยมของ Locale (ลูกน้ำ) ในขณะที่ฉันต้องการใช้จุด มีวิธีง่ายๆในการทำเช่นนี้หรือไม่?
105 java  formatting  double 

20
จะรับพลังของ Integer บางตัวในภาษา Swift ได้อย่างไร
เมื่อเร็ว ๆ นี้ฉันกำลังเรียนรู้อย่างรวดเร็ว แต่ฉันมีปัญหาพื้นฐานที่ไม่สามารถหาคำตอบได้ อยากได้แบบ var a:Int = 3 var b:Int = 3 println( pow(a,b) ) // 27 แต่ฟังก์ชั่น pow สามารถทำงานกับเลขคู่เท่านั้นมันใช้ไม่ได้กับจำนวนเต็มและฉันไม่สามารถแม้แต่จะโยน int ให้เป็นสองเท่าเช่น Double (a) หรือ a.double () ... ทำไมมันไม่จ่ายพลังของจำนวนเต็ม? แน่นอนมันจะคืนค่าจำนวนเต็มโดยไม่มีความคลุมเครือ! และทำไมฉันไม่สามารถโยนจำนวนเต็มให้เป็นสองเท่าได้? เพียงแค่เปลี่ยน 3 เป็น 3.0 (หรือ 3.00000 ... ก็ตาม) ถ้าฉันได้จำนวนเต็มสองจำนวนและต้องการทำการเปิดเครื่องฉันจะทำอย่างไรให้ราบรื่น ขอบคุณ!
102 integer  double  swift  pow 

9
การย้ายตำแหน่งทศนิยมซ้ำเป็นสองเท่า
ดังนั้นฉันจึงตั้งค่าสองเท่าให้เท่ากับ 1234 ฉันต้องการย้ายตำแหน่งทศนิยมไปที่เพื่อให้เป็น 12.34 เพื่อทำสิ่งนี้ผมคูณ. 1 ถึง 1234 สองคูณแบบนี้ double x = 1234; for(int i=1;i<=2;i++) { x = x*.1; } System.out.println(x); สิ่งนี้จะพิมพ์ผลลัพธ์ "12.340000000000002" มีวิธีโดยไม่ต้องจัดรูปแบบให้เป็นทศนิยมสองตำแหน่งโดยไม่ต้องจัดรูปแบบเป็นทศนิยมสองตำแหน่งอย่างถูกต้องหรือไม่?
98 java  double  decimal 


10
แปลง float เป็นสองเท่าโดยไม่สูญเสียความแม่นยำ
ฉันมีลูกลอยดั้งเดิมและฉันต้องการเป็นคู่ดั้งเดิม เพียงแค่การลอยตัวเป็นสองเท่าทำให้ฉันมีความแม่นยำเป็นพิเศษ ตัวอย่างเช่น: float temp = 14009.35F; System.out.println(Float.toString(temp)); // Prints 14009.35 System.out.println(Double.toString((double)temp)); // Prints 14009.349609375 อย่างไรก็ตามหากแทนที่จะทำการแคสต์ฉันจะส่งออก float เป็นสตริงและแยกวิเคราะห์สตริงเป็นคู่ฉันจะได้สิ่งที่ต้องการ System.out.println(Double.toString(Double.parseDouble(Float.toString(temp)))); // Prints 14009.35 มีวิธีที่ดีกว่าการไปที่ String และย้อนกลับหรือไม่?

4
วิธีการแปลง double เป็น int ใน Dart?
สิ่งต่อไปนี้ก่อให้เกิดข้อผิดพลาดด้านล่าง: int calc_ranks(ranks) { double multiplier = .5; return multiplier * ranks; } ประเภทผลตอบแทนdoubleไม่ได้เป็นตามที่กำหนดโดยวิธีการint calc_ranksฉันจะปัดเศษ / ส่งไปที่int?

6
เลขคู่ระหว่าง 0.0 ถึง 1.0 มีกี่ตัว?
นี่เป็นสิ่งที่อยู่ในความคิดของฉันมาหลายปีแล้ว แต่ฉันไม่เคยใช้เวลาถามมาก่อน เครื่องกำเนิดตัวเลขสุ่ม (หลอก) จำนวนมากสร้างตัวเลขสุ่มระหว่าง 0.0 ถึง 1.0 ในทางคณิตศาสตร์มีจำนวนอนันต์ในช่วงนี้ แต่doubleเป็นจำนวนจุดลอยตัวดังนั้นจึงมีความแม่นยำ จำกัด ดังนั้นคำถามคือ: มีกี่doubleตัวเลขระหว่าง 0.0 ถึง 1.0? มีจำนวนระหว่าง 1 ถึง 2 หรือไม่? ระหว่าง 100 ถึง 101? ระหว่าง 10 ^ 100 ถึง 10 ^ 100 + 1? หมายเหตุ: ถ้ามันสร้างความแตกต่างฉันสนใจคำจำกัดความของ Java เป็นdoubleพิเศษ

6
ใน java การใช้ byte หรือ short แทน int และ float แทน double มีประสิทธิภาพมากกว่าหรือไม่?
ฉันสังเกตเห็นว่าฉันใช้ int และเพิ่มเป็นสองเท่าไม่ว่าจำนวนจะน้อยหรือมาก ดังนั้นใน java การใช้byteหรือshortแทนที่จะใช้intและfloatแทนที่จะมีประสิทธิภาพมากกว่ากันdouble? สมมติว่าฉันมีโปรแกรมที่มี ints และ doubles มากมาย จะคุ้มไหมที่จะผ่านและเปลี่ยน ints เป็นไบต์หรือกางเกงขาสั้นถ้าฉันรู้ว่าจำนวนนั้นพอดี ฉันรู้ว่า java ไม่มีประเภทที่ไม่ได้ลงชื่อ แต่มีอะไรเพิ่มเติมที่ฉันสามารถทำได้ถ้าฉันรู้ว่าจำนวนจะเป็นบวกเท่านั้น โดยประสิทธิภาพส่วนใหญ่ฉันหมายถึงการประมวลผล ฉันคิดว่าตัวเก็บขยะจะเร็วขึ้นมากถ้าตัวแปรทั้งหมดมีขนาดครึ่งหนึ่งและการคำนวณนั้นก็น่าจะเร็วขึ้นด้วย (ฉันเดาว่าเนื่องจากฉันทำงานกับ Android ฉันก็ต้องกังวลเกี่ยวกับ ram ด้วย) (ฉันจะถือว่าคนเก็บขยะจัดการกับ Objects เท่านั้นไม่ใช่แบบดั้งเดิม แต่ยังคงลบสิ่งดั้งเดิมทั้งหมดในวัตถุที่ถูกทิ้งใช่ไหม) ฉันลองใช้กับแอป Android ขนาดเล็กที่มี แต่ไม่ได้สังเกตเห็นความแตกต่างเลย (แม้ว่าฉันจะไม่ได้วัดอะไร "ทางวิทยาศาสตร์") ฉันคิดผิดหรือเปล่าที่คิดว่าควรเร็วและมีประสิทธิภาพมากกว่านี้ ฉันเกลียดที่จะผ่านและเปลี่ยนแปลงทุกอย่างในโปรแกรมขนาดใหญ่เพื่อพบว่าฉันเสียเวลาไปเปล่า ๆ จะคุ้มไหมที่จะทำตั้งแต่เริ่มต้นโครงการใหม่ (ฉันหมายความว่าฉันคิดว่าทุก ๆ อย่างจะช่วยได้ แต่ถ้าเป็นเช่นนั้นอีกครั้งทำไมดูเหมือนไม่มีใครทำ)


4
วิธีที่ดีที่สุดในการสร้างลำดับ List <Double> ของค่าที่กำหนดตั้งแต่เริ่มต้นสิ้นสุดและขั้นตอนคืออะไร
จริง ๆ แล้วฉันประหลาดใจมากฉันไม่สามารถหาคำตอบได้ที่นี่ แต่บางทีฉันแค่ใช้คำค้นหาที่ผิดหรืออะไรบางอย่าง ที่ใกล้เคียงที่สุดที่ฉันสามารถหาได้คือสิ่งนี้แต่พวกเขาถามเกี่ยวกับการสร้างช่วงที่เฉพาะเจาะจงdoubleด้วยขนาดขั้นตอนที่เฉพาะเจาะจงและคำตอบก็เป็นเช่นนั้น ฉันต้องการบางสิ่งที่จะสร้างตัวเลขด้วยขนาดเริ่มต้นจุดจบและขั้นตอนโดยพลการ ฉันคิดว่ามีมีจะเป็นวิธีการบางอย่างเช่นนี้ในห้องสมุดที่ไหนสักแห่งแล้ว แต่ถ้าเป็นเช่นนั้นผมไม่สามารถที่จะหามันได้อย่างง่ายดาย (อีกครั้งบางทีฉันเพียงแค่ใช้คำค้นหาบางสิ่งบางอย่างที่ไม่ถูกต้องหรือ) ดังนั้นนี่คือสิ่งที่ฉันทำเองในไม่กี่นาทีที่ผ่านมาเพื่อทำสิ่งนี้: import java.lang.Math; import java.util.List; import java.util.ArrayList; public class DoubleSequenceGenerator { /** * Generates a List of Double values beginning with `start` and ending with * the last step from `start` which includes the provided `end` value. **/ public static List&lt;Double&gt; …
14 java  double  sequence 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.