ฉันต้องการปัดเศษสองค่าเป็นทศนิยมสองตำแหน่งใน c # ฉันจะทำอย่างไร
double inputValue = 48.485;
หลังจากรอบขึ้น
inputValue = 48.49;
ฉันต้องการปัดเศษสองค่าเป็นทศนิยมสองตำแหน่งใน c # ฉันจะทำอย่างไร
double inputValue = 48.485;
หลังจากรอบขึ้น
inputValue = 48.49;
คำตอบ:
งานนี้:
inputValue = Math.Round(inputValue, 2);
Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
คุณควรใช้
inputvalue=Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
Math.Round ปัดเศษทศนิยมที่มีความแม่นยำสองเท่าเป็นตัวเลขเศษส่วนที่ระบุ
ระบุวิธีการปัดเศษทางคณิตศาสตร์ควรประมวลผลหมายเลขที่อยู่กึ่งกลางระหว่างตัวเลขสองตัว
โดยทั่วไปฟังก์ชั่นด้านบนจะใช้ค่าอินพุตของคุณและปัดเศษเป็นทศนิยม 2 ตำแหน่ง (หรือจำนวนใดก็ตามที่คุณระบุ) ด้วยMidpointRounding.AwayFromZero
เป็นจำนวนมากเมื่ออยู่กึ่งกลางระหว่างสองคนอื่น ๆ ก็เป็นโค้งมนไปยังหมายเลขที่ใกล้ที่สุดที่อยู่ห่างออกไปจากศูนย์ นอกจากนี้ยังมีตัวเลือกอื่นที่คุณสามารถใช้รอบนั้นไปยังเลขคู่ที่ใกล้ที่สุด
อีกวิธีง่าย ๆ คือการใช้ ToString ด้วยพารามิเตอร์ ตัวอย่าง:
float d = 54.9700F;
string s = d.ToString("N2");
Console.WriteLine(s);
ผลลัพธ์:
54.97
ใช้Math.Round
value = Math.Round(48.485, 2);
คุณสามารถลองจากด้านล่างมีหลายวิธีสำหรับการนี้
1.
value=Math.Round(123.4567, 2, MidpointRounding.AwayFromZero) //"123.46"
2.
inputvalue=Math.Round(123.4567, 2) //"123.46"
3.
String.Format("{0:0.00}", 123.4567); // "123.46"
4.
string.Format("{0:F2}", 123.456789); //123.46
string.Format("{0:F3}", 123.456789); //123.457
string.Format("{0:F4}", 123.456789); //123.4568
ใช้สตริงที่สอดแทรกซึ่งจะสร้างสตริงที่ปัดขึ้น:
var strlen = 6;
$"{48.485:F2}"
เอาท์พุต
"48.49"