摘要:[C#][VB.NET][VB6][JAVA] 四捨五入
System.Math.Round
http://msdn.microsoft.com/zh-tw/library/system.math.round(VS.80).aspx
名稱 | 說明 |
---|---|
Math.Round (Decimal) | 將十進位的值捨入至最近的整數。 受 .NET Compact Framework 支援。 |
Math.Round (Double) | 將雙精度浮點數捨入至最接近的整數。 受 .NET Compact Framework 支援。 |
Math.Round (Decimal, Int32) | 將十進位的值捨入至指定的精確度。 受 .NET Compact Framework 支援。 |
Math.Round (Decimal, MidpointRounding) | 將十進位的值捨入至最近的整數。如果值介於兩個其他數字之間,參數會指定如何捨入該值。 |
Math.Round (Double, Int32) | 將雙精度浮點數捨入至指定的精確度。 受 .NET Compact Framework 支援。 |
Math.Round (Double, MidpointRounding) | 將雙精度浮點數捨入至最接近的整數。如果值介於兩個其他數字之間,參數會指定如何捨入該值。 |
Math.Round (Decimal, Int32, MidpointRounding) | 將十進位的值捨入至指定的精確度。如果值介於兩個其他數字之間,參數會指定如何捨入該值。 |
Math.Round (Double, Int32, MidpointRounding) | 將雙精度浮點數捨入至指定的精確度。如果值介於兩個其他數字之間,參數會指定如何捨入該值。 |
範例如下:
C#.NET:使用.NET Framework 類別庫
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
object decValue = Math.Round(3.3551, 3);//表示取小數點後三位
string msg = decValue.ToString();
MessageBox.Show(msg);
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
object decValue = Math.Round(3.3551, 3);//表示取小數點後三位
string msg = decValue.ToString();
MessageBox.Show(msg);
}
}
}
VB.NET:使用.NET Framework 類別庫
Imports System.Math
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim douValue As String = CStr(Round(3.45, 1, MidpointRounding.AwayFromZero))
MsgBox(douValue)
End Sub
End Class
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim douValue As String = CStr(Round(3.45, 1, MidpointRounding.AwayFromZero))
MsgBox(douValue)
End Sub
End Class
VB6:使用內建函數Round
Option Explicit
Private Sub Form_Load()
Dim douValue As String
douValue = Str(Round(3.3551, 2))
MsgBox (douValue)
End Sub
Private Sub Form_Load()
Dim douValue As String
douValue = Str(Round(3.3551, 2))
MsgBox (douValue)
End Sub
JAVA:使用JAVA API函數
import java.math.BigDecimal;
public class TTT {
public static void main(String[] args) {
double d = 44.32212;
double f = 33.32764;
d = (new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_UP))
.doubleValue();
f = (new BigDecimal(f).setScale(2, BigDecimal.ROUND_HALF_UP))
.doubleValue();
System.out.println(d);
System.out.println(f);
}
}
public class TTT {
public static void main(String[] args) {
double d = 44.32212;
double f = 33.32764;
d = (new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_UP))
.doubleValue();
f = (new BigDecimal(f).setScale(2, BigDecimal.ROUND_HALF_UP))
.doubleValue();
System.out.println(d);
System.out.println(f);
}
}
資料出處:
http://msdn.microsoft.com/en-us/library/system.math.round.aspx
http://msdn.microsoft.com/en-us/library/ef48waz8.aspx
http://bibby.be/2008/07/cvb.html
http://msdn.microsoft.com/zh-tw/library/system.math.round(VS.80).aspx
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET