วิธีเปรียบเทียบ BigDecimals สองตัวใน Java

Withi Periyb Theiyb Bigdecimals Sxng Taw Ni Java



บิ๊กทศนิยม คลาส ” ใน Java ให้การคำนวณเลขคณิต การจัดการมาตราส่วน การปัดเศษ ฟังก์ชันการเปรียบเทียบ ฯลฯ นอกจากนั้น ยังช่วยให้โปรแกรมเมอร์สามารถรับมือกับจำนวนเต็มทศนิยมขนาดใหญ่และขนาดเล็กด้วยความแม่นยำเป็นพิเศษ สิ่งนี้ช่วยให้ได้ความแม่นยำมากกว่าจำนวนทศนิยมคงที่

บทความนี้จะอธิบายรายละเอียดเกี่ยวกับวิธีการเปรียบเทียบ 'BigDecimals' สองรายการใน Java

“BigDecimal” ใน Java คืออะไร

เอ “ บิ๊กทศนิยม ” ใน Java ประกอบด้วยสเกลจำนวนเต็ม 32 บิตและใช้เพื่อจัดการตัวเลขทศนิยมที่มีขนาดใหญ่มากและเล็กมาก “ มาตราส่วน ” หมายถึงจำนวนหลักทางด้านขวาของจุดทศนิยม







จะเปรียบเทียบ BigDecimals สองตัวใน Java ได้อย่างไร

หากต้องการเปรียบเทียบ BigDecimals สองตัวใน Java ให้ใช้วิธีการต่อไปนี้:



ก่อนไปที่แนวทาง ตรวจสอบให้แน่ใจว่าได้รวมแพ็คเกจด้านล่างเพื่อเข้าถึง ' คณิตศาสตร์ วิธีการเรียน:



นำเข้า java.math.* ;

แนวทางที่ 1: เปรียบเทียบ BigDecimals สองตัวใน Java โดยใช้วิธี “compareTo()”

เปรียบเทียบกับ() ” วิธีการเปรียบเทียบทั้งสอง “ ทศนิยมขนาดใหญ่ ” และส่งคืนผลลัพธ์ตามพารามิเตอร์ต่อไปนี้:





ผลลัพธ์ที่ส่งคืน การเปรียบเทียบที่คำนวณได้
1 หาก BigDecimal เดิมมีค่ามากกว่า BigDecimal หลัง
0 ในกรณีของ BigDecimal เดิมมีค่าเท่ากับ BigDecimal หลัง
-1 เมื่อ BigDecimal เดิมน้อยกว่า BigDecimal หลัง

สามารถใช้วิธีนี้เพื่อเปรียบเทียบสองสิ่งที่สร้างขึ้น ' บิ๊กทศนิยม ” ค่าและส่งคืนผลลัพธ์ที่สอดคล้องกันผ่านทาง “ ถ้า / อื่น ๆ ' คำแถลง.

ไวยากรณ์



สาธารณะ นานาชาติ เปรียบเทียบกับ ( วัตถุ ออบ )

ตามไวยากรณ์นี้ “ วัตถุ ” ตรงกับวัตถุที่ต้องการเปรียบเทียบ

ตัวอย่าง

ตัวอย่างด้านล่างอธิบายแนวคิดที่กล่าวถึง:

สาธารณะ ระดับ เปรียบเทียบทศนิยมใหญ่ {
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง หาเรื่อง [ ] ) {
บิ๊กทศนิยม val1, val2 ;
ทางเลือก1 = ใหม่ บิ๊กทศนิยม ( '26326.04' ) ;
วาล2 = ใหม่ บิ๊กทศนิยม ( '22145.20' ) ;
ถ้า ( ทางเลือก1. เปรียบเทียบกับ ( วาล2 ) == 0 ) {
ระบบ . ออก . พิมพ์ ( ทางเลือก1 + ' และ ' + วาล2 + 'เท่ากัน' ) ;
}
อื่น ถ้า ( ทางเลือก1. เปรียบเทียบกับ ( วาล2 ) == - 1 ) {
ระบบ . ออก . พิมพ์ ( ทางเลือก1 + ' น้อยกว่า ' + วาล2 ) ;
}
อื่น {
ระบบ . ออก . พิมพ์ ( ทางเลือก1. เปรียบเทียบกับ ( วาล2 ) ) ;
ระบบ . ออก . พิมพ์ ( ทางเลือก1 + 'มีค่ามากกว่า' + วาล2 ) ;
}

ตามบรรทัดโค้ดด้านบน ใช้ขั้นตอนต่อไปนี้:

  • ก่อนอื่น สร้างสอง “ ทศนิยมขนาดใหญ่ ” มีค่าตามที่กำหนด
  • ตอนนี้เชื่อมโยง ' เปรียบเทียบกับ() ” วิธีการที่มีทั้งค่าที่กำหนดและตามเงื่อนไขที่พอใจใน “ ถ้า คำสั่ง ” บันทึกข้อความที่เกี่ยวข้อง
  • บันทึก: มีการระบุเงื่อนไขตามผลลัพธ์ที่ส่งคืนของเมธอดเพื่อให้เมธอดทำงานได้อย่างถูกต้อง
  • ในทำนองเดียวกัน “ อย่างอื่นถ้า คำสั่ง ” ระบุเงื่อนไขอื่นโดยพิจารณาจากประเภทการส่งคืนเมธอด เช่น “ -1 '.
  • สุดท้าย ทำ “ อื่น ” คำสั่งมีผลบังคับใช้กับเงื่อนไขที่ไม่เป็นที่น่าพอใจทั้งสองข้างต้น

เอาต์พุต

ในผลลัพธ์ข้างต้น การส่งคืน “ 1 ” แสดงว่า “ อื่น ” คำสั่งถูกเรียกใช้

วิธีที่ 2: เปรียบเทียบ BigDecimals สองตัวใน Java โดยใช้วิธี “equals()”

เท่ากับ () ” วิธีการของจาวา “ บิ๊กทศนิยม ” คลาสใช้เพื่อเปรียบเทียบ BigDecimals เพื่อความเท่าเทียมกันตามมูลค่าและขนาด วิธีนี้สามารถนำไปใช้กับการตรวจสอบ BigDecimals ที่มีการเปลี่ยนแปลงในมาตราส่วนได้

ไวยากรณ์

สาธารณะ บูลีน เท่ากับ ( วัตถุ x )

ในไวยากรณ์นี้ “ วัตถุ x ” สอดคล้องกับวัตถุที่ต้องการเปรียบเทียบ BigDecimal นี้

ตัวอย่าง

มาดูภาพรวมตัวอย่างต่อไปนี้:

สาธารณะ ระดับ เปรียบเทียบทศนิยมใหญ่2 {
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง หาเรื่อง [ ] ) {
บิ๊กทศนิยม val1, val2 ;
ทางเลือก1 = ใหม่ บิ๊กทศนิยม ( '205.0' ) ;
วาล2 = ใหม่ บิ๊กทศนิยม ( '205.00' ) ;
ถ้า ( ทางเลือก1. เท่ากับ ( วาล2 ) ) {
ระบบ . ออก . พิมพ์ ( ทางเลือก1 + ' และ ' + วาล2 + 'เท่ากัน' ) ;
}
อื่น {
ระบบ . ออก . พิมพ์ ( ทางเลือก1 + ' และ ' + วาล2 + 'ไม่เท่ากัน' ) ;
}
} }

ตามรหัสด้านบน:

  • ในทำนองเดียวกัน ให้สร้าง BigDecimals สองตัวที่มีความแตกต่างกันในมาตราส่วน
  • บันทึก: 0 ” ไม่เท่ากับ “ 2.00 น ” เมื่อเปรียบเทียบกับวิธีนี้
  • หลังจากนั้นให้ใช้ “ เท่ากับ () ” วิธีการเปรียบเทียบ BigDecimals ที่สร้างขึ้นและส่งคืนผลลัพธ์ที่สอดคล้องกันผ่านทาง “ ถ้า / อื่น ๆ ' คำแถลง.

เอาต์พุต

จากผลลัพธ์นี้ จะสังเกตได้ว่าทั้ง “ ทศนิยมขนาดใหญ่ ” ไม่เท่ากันเนื่องจากการแปรผันของมาตราส่วน

อย่างไรก็ตาม ผลลัพธ์ต่อไปนี้นำไปสู่การทำให้ 'BigDecimals' เท่ากัน:

นั่นเป็นวิธีที่คุณสามารถเปรียบเทียบสอง ' ทศนิยมขนาดใหญ่ ” ในภาษาจาวา

บทสรุป

เอ “ บิ๊กทศนิยม ” ใน Java ประกอบด้วยสเกลจำนวนเต็ม 32 บิต สามารถเปรียบเทียบ BigDecimals สองตัวใน Java ได้โดยใช้ ' เปรียบเทียบกับ() ” หรือ “ เท่ากับ () ” วิธีการ วิธีการเดิมจะส่งกลับผลลัพธ์ตามการเปรียบเทียบที่คำนวณได้ วิธีหลังวิเคราะห์ค่า BigDecimal ตามสเกลที่ระบุ บล็อกนี้ได้รับคำแนะนำให้เปรียบเทียบ 'BigDecimals' สองตัวใน Java