摘要:[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);
        }
    }
}VB.NET:使用.NET Framework 類別庫
Imports System.Math
Public Class Form1
    Private S
ub 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 ClassVB6:使用內建函數Round
Option Explicit
Private Sub Form_Load()
    Dim douValue As String
    douValue = Str(Round(3.3551, 2))
    MsgBox (douValue)
End SubJAVA:使用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);
    }
}資料出處:
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
using