[C#][VB.NET][VB6][JAVA] 四捨五入

  • 27478
  • 0
  • C#
  • 2008-11-16

摘要:[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 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

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);
    }

}

資料出處:

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

Image result for microsoft+mvp+logo