บทความนี้จะอธิบายรายละเอียดเกี่ยวกับวิธีการเปรียบเทียบ '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