VC# 数値操作

.NET Framework 4.5、4、3.5、3.0、2.0、1.1、1.0
.NET Framework Client Profile 4、3.5 SP1

using System;
using System.Globalization;

お品書き
数値型数値型の一覧です。
キャスト数値型を別の数値型に変換します。
Parse(String)数字文字列を数値へ変換します。
Parse(String, NumberStyles)特定文字列形式の数字文字列を数値へ変換します。
Math.Abs メソッド絶対値を返します。
Math.Ceiling メソッド小数点を切り上げます。
Math.Floor メソッド小数点を切り捨てます。
Math.Max メソッド2つの数値のうち、大きい方を返します。
Math.Min メソッド2つの数値のうち、小さい方を返します。
Math.Round メソッド小数点を丸めたり、四捨五入します。
Math.Sign メソッド符号を示す数値を返します。

整数型

【 型 】
有効範囲サイズ.NET Framework型
sbyte-128 〜 127符号付き 8 ビット整数System.SByte
byte0 〜 255符号なし 8 ビット整数System.Byte
charU+0000 〜 U+ffffUnicode 16 ビット文字System.Char
short-32,768 〜 32,767符号付き 16 ビット整数System.Int16
ushort0 〜 65,535符号なし 16 ビット整数System.UInt16
int-2,147,483,648 〜 2,147,483,647符号付き 32 ビット整数System.Int32
uint0 〜 4,294,967,295符号なし 32 ビット整数System.UInt32
long-9,223,372,036,854,775,808 〜 9,223,372,036,854,775,807符号付き 64 ビット整数System.Int64
ulong0 〜 18,446,744,073,709,551,615符号なし 64 ビット整数System.UInt64
【 例 】int i = 123;
long lng = 123456;
【 例 】long lng = 60L * 60L * 1000L * 10000L;
▲TOP

浮動小数点型

【 型 】
有効範囲有効桁数.NET Framework型
float-3.4 × 10^38 〜+3.4 × 10^387 桁System.Single
double±1.5 × 10^324 〜 ±1.7 × 10^308 15 〜 16 桁System.Double
【 例 】float f = 123.45F;
※ 代入演算子の右側にある実数値リテラルは double として扱われます。 float 変数を初期化するには、サフィックス f または F を使用します。
【 例 】double d = 1000D;
※ 代入演算子の右側にある実数値リテラルは double として扱われます。 ただし、整数を double として扱う必要がある場合は、サフィックス d または D を使用します。
▲TOP

decimal

【 型 】
有効範囲有効桁数.NET Framework型
decimal(-7.9 x 10^28 〜 7.9 x 10^28) / (10^(0 〜 28)) 28 〜 29桁System.Decimal
【 例 】decimal d = 123.45M;
※ 実数値リテラルを decimal として扱うには、サフィックス m または M を使用します。サフィックスがない場合は double として扱われ、コンパイラ エラーになります。
▲TOP

bool

【 型 】
リテラル.NET Framework型
booltrue / falseSystem.Boolean
【 例 】bool b = true;
※ C++のように、false は 0 、true は 0 以外の値というような扱いができません。
▲TOP

cast -キャスト-

【機能】数値型を別の数値型へ変換します。
【書式】(変換する数値型) 変換される数値変数
【例】long lng = 1000;
float f = (float) lng;
f = 1000
【例】float f = 123.65F;
int i = (int) f;
i = 123
▲TOP

Parse(String) メソッド

【機能】数字文字列を数値へ変換します。
【書式】int.Parse (String)
【戻り値】文字列を int 型へ変換して返します。
【 例 】int result = int.Parse ("100");100
【 例 】int result = int.Parse ("-100");-100
【 例 】int result = int.Parse (null);ArgumentNullException
【 例 】int result = int.Parse ("");FormatException
【 例 】int result = int.Parse ("100.0");FormatException
【 例 】int result = int.Parse ("123.45");FormatException
【 例 】int result = (int) float.Parse ("123.45");123
【 例 】int result = int.Parse ("100-");FormatException
【 例 】int result = int.Parse ("1,000");FormatException
【 例 】int result = int.Parse ("100"); ※全角数字FormatException
【 例 】int result = int.Parse ("□100□"); ※□は半角スペース100
【 例 】int result = int.Parse ("□100□"); ※□は全角スペースFormatException
【 例 】int result = int.Parse ("10000000000");OverflowException

▲TOP
【書式】long.Parse (String)
【戻り値】文字列を long 型へ変換して返します。
【 例 】long result = long.Parse ("100");100

▲TOP
【書式】float.Parse (String)
【戻り値】文字列を float 型へ変換して返します。
【 例 】float result = float.Parse ("100.123");100.123
【 例 】float result = float.Parse ("100");100
【 例 】float result = float.Parse ("-100.00");-100
【 例 】float result = float.Parse (".5");0.5
【 例 】float result = float.Parse ("1.");1
【 例 】float result = float.Parse (".");FormatException

▲TOP
【書式】double.Parse (String)
【戻り値】文字列を double 型へ変換して返します。
【 例 】double result = double.Parse ("100.123");100.123

▲TOP
【書式】bool.Parse (String)
【戻り値】文字列を bool 型へ変換して返します。
【 例 】bool result = bool.Parse ("True");true
【 例 】bool result = bool.Parse ("False");false
【 例 】bool result = bool.Parse ("0");FormatException
※ "True"、"False" の大文字、小文字は区別されません。
【例外】
ArgumentNullExceptionnull が参照された
FormatException数値以外の文字が含まれている
OverflowExceptionオーバーフロー
▲TOP

Parse(String, NumberStyles) メソッド

【名前空間】System.Globalization
【機能】特定文字列形式の数字文字列を数値へ変換します。
【書式】double.Parse (String, NumberStyles)
NumberStyles説明
NumberStyles.AllowCurrencySymbol通貨記号が含まれている文字列
NumberStyles.AllowDecimalPoint小数点が含まれている文字列
NumberStyles.AllowExponent指数表記の文字列
NumberStyles.AllowHexSpecifier16 進数値表記の文字列
NumberStyles.AllowLeadingSign先頭に符号が含まれている文字列
NumberStyles.AllowLeadingWhite先頭の空白文字を無視する ( Unicode : U+0009、U+000A、U+000B、U+000C、U+000D、U+0020 )
NumberStyles.AllowParenthesesかっこで囲まれた文字列 (マイナス値)
NumberStyles.AllowThousandsカンマが含まれている文字列
NumberStyles.AllowTrailingSign末尾に符号が含まれている文字列
NumberStyles.AllowTrailingWhite末尾の空白文字を無視する ( Unicode : U+0009、U+000A、U+000B、U+000C、U+000D、U+0020 )
NumberStyles.AnyAllowHexSpecifier を除くすべてのスタイルを使用する
NumberStyles.CurrencyAllowExponent と AllowHexSpecifier を除くすべてのスタイルを使用する
NumberStyles.FloatAllowLeadingWhite、AllowTrailingWhite、AllowLeadingSign、AllowDecimalPoint、AllowExponent の各スタイルを使用する
NumberStyles.HexNumberAllowLeadingWhite、AllowTrailingWhite、AllowHexSpecifier の各スタイルを使用する
NumberStyles.IntegerAllowLeadingWhite、AllowTrailingWhite、AllowLeadingSign の各スタイルを使用する
NumberStyles.Noneいずれのスタイルも許可しない
NumberStyles.NumberAllowLeadingWhite、AllowTrailingWhite、AllowLeadingSign、AllowTrailingSign、AllowDecimalPoint、AllowThousands の各スタイルを使用する
【 例 】int result = int.Parse ("1000", NumberStyles.Any);1000
【 例 】int result = int.Parse ("1,000,000", NumberStyles.Any);1000000
【 例 】int result = int.Parse ("¥¥1,000", NumberStyles.Any);1000
【 例 】int result = int.Parse ("+1000", NumberStyles.Any);1000
【 例 】int result = int.Parse ("1,000-", NumberStyles.Any);-1000
【 例 】int result = int.Parse ("(1,000)", NumberStyles.Any);-1000
【 例 】int result = int.Parse ("(-1,000)", NumberStyles.Any);FormatException
【 例 】int result = int.Parse ("100.0", NumberStyles.Any);100
【 例 】int result = int.Parse ("100.123", NumberStyles.Any);OverflowException
【 例 】float result = float.Parse ("-1,000.123", NumberStyles.Any);-1000.123
【 例 】int result = int.Parse ("FFFF", NumberStyles.AllowHexSpecifier);65535
【 例 】int result = int.Parse ("1E06", NumberStyles.AllowExponent);1000000
【 例 】int result = int.Parse ("1,000-", NumberStyles.AllowThousands | NumberStyles.AllowTrailingSign);-1000
▲TOP

Math.Abs メソッド

【機能】絶対値を返します。
【書式】Math.Abs (short)
Math.Abs (int)
Math.Abs (long)
Math.Abs (float)
Math.Abs (double)
Math.Abs (decimal)
Math.Abs (sbyte)
【 例 】int result = Math.Abs(-10);10
▲TOP

Math.Ceiling メソッド

【機能】正数の場合は小数点切り上げ、負数の場合は小数点切り捨てます。
【書式】Math.Ceiling(double)
Math.Ceiling(decimal)
【 例 】double result = Math.Ceiling(123.12);124
【 例 】double result = Math.Ceiling(-123.12);-123
▲TOP

Math.Floor メソッド

【機能】正数の場合は小数点切り捨て、負数の場合は小数点切り上げます。
【書式】Math.Floor(double)
Math.Floor(decimal)
【 例 】double result = Math.Floor(123.12);123
【 例 】double result = Math.Floor(-123.12);-124
▲TOP

Math.Max メソッド

【機能】2つの数値のうち、大きい方を返します。
【書式】Math.Max(short, short)
Math.Max(int, int)
Math.Max(long, long)
Math.Max(float, float)
Math.Max(double, double)
Math.Max(decimal, decimal)
Math.Max(byte , byte)
Math.Max(sbyte , sbyte)
Math.Max(ushort, ushort)
Math.Max(uint, uint)
Math.Max(ulong, ulong)
【 例 】int result = Math.Max(123, 456);456
▲TOP

Math.Min メソッド

【機能】2つの数値のうち、小さい方を返します。
【書式】Math.Min(short, short)
Math.Min(int, int)
Math.Min(long, long)
Math.Min(float, float)
Math.Min(double, double)
Math.Min(decimal, decimal)
Math.Min(byte , byte)
Math.Min(sbyte , sbyte)
Math.Min(ushort, ushort)
Math.Min(uint, uint)
Math.Min(ulong, ulong)
【 例 】int result = Math.Min(123, 456);123
▲TOP

Math.Round(value) メソッド

【機能】最近接偶数へ丸めます。銀行型丸め。
※ 10進値を浮動小数点数として表したり、浮動小数点値で算術演算を実行したりすると、精度が低下する可能性があるため、Round(double) メソッドで、中間値を最も近い偶数の整数に丸められない場合があります。
【書式】Math.Round(double)
Math.Round(decimal)
【 例 】double result = Math.Round(123.49);123
【 例 】double result = Math.Round(123.5);124
【 例 】double result = Math.Round(123.51);124
【 例 】double result = Math.Round(124.49);124
【 例 】double result = Math.Round(124.5);124
【 例 】double result = Math.Round(124.51);125
▲TOP

Math.Round(value, MidpointRounding.ToEven) メソッド

【機能】最近接偶数へ丸めます。銀行型丸め。
【書式】Math.Round(double, MidpointRounding.ToEven)
Math.Round(decimal, MidpointRounding.ToEven)
【 例 】double result = Math.Round(123.49, MidpointRounding.ToEven);123
【 例 】double result = Math.Round(123.5, MidpointRounding.ToEven);124
【 例 】double result = Math.Round(123.51, MidpointRounding.ToEven);124
【 例 】double result = Math.Round(124.49, MidpointRounding.ToEven);124
【 例 】double result = Math.Round(124.5, MidpointRounding.ToEven);124
【 例 】double result = Math.Round(124.51, MidpointRounding.ToEven);125
▲TOP

Math.Round(value, MidpointRounding.AwayFromZero) メソッド

【機能】四捨五入します。対称算術型丸め。
【書式】Math.Round(double, MidpointRounding.AwayFromZero)
Math.Round(decimal, MidpointRounding.AwayFromZero)
【 例 】double result = Math.Round(123.49, MidpointRounding.AwayFromZero);123
【 例 】double result = Math.Round(123.5, MidpointRounding.AwayFromZero);124
【 例 】double result = Math.Round(123.51, MidpointRounding.AwayFromZero);124
【 例 】double result = Math.Round(124.49, MidpointRounding.AwayFromZero);124
【 例 】double result = Math.Round(124.5, MidpointRounding.AwayFromZero);125
【 例 】double result = Math.Round(124.51, MidpointRounding.AwayFromZero);125
▲TOP

Math.Round(value, int) メソッド

【機能】指定した小数部の桁数で最近接偶数へ丸めます。
【書式】Math.Round(double, int)
Math.Round(decimal, int)
【 例 】double result = Math.Round(123.349, 1);123.3
【 例 】double result = Math.Round(123.35, 1);123.4
【 例 】double result = Math.Round(123.351, 1);123.4
【 例 】double result = Math.Round(123.449, 1);123.4
【 例 】double result = Math.Round(123.45, 1);123.4
【 例 】double result = Math.Round(123.451, 1);123.5
▲TOP

Math.Round(value, int, MidpointRounding.ToEven) メソッド

【機能】指定した小数部の桁数で最近接偶数へ丸めます。
【書式】Math.Round(double, int, MidpointRounding.ToEven)
Math.Round(decimal, int, MidpointRounding.ToEven)
【 例 】double result = Math.Round(123.349, 1, MidpointRounding.ToEven);123.3
【 例 】double result = Math.Round(123.35, 1, MidpointRounding.ToEven);123.4
【 例 】double result = Math.Round(123.351, 1, MidpointRounding.ToEven);123.4
【 例 】double result = Math.Round(123.449, 1, MidpointRounding.ToEven);123.4
【 例 】double result = Math.Round(123.45, 1, MidpointRounding.ToEven);123.4
【 例 】double result = Math.Round(123.451, 1, MidpointRounding.ToEven);123.5
▲TOP

Math.Round(value, int, MidpointRounding.AwayFromZero) メソッド

【機能】指定した小数部の桁数で四捨五入します。
【書式】Math.Round(double, int, MidpointRounding.AwayFromZero)
Math.Round(decimal, int, MidpointRounding.AwayFromZero)
【 例 】double result = Math.Round(123.349, 1, MidpointRounding.AwayFromZero);123.3
【 例 】double result = Math.Round(123.35, 1, MidpointRounding.AwayFromZero);123.4
【 例 】double result = Math.Round(123.351, 1, MidpointRounding.AwayFromZero);123.4
【 例 】double result = Math.Round(123.449, 1, MidpointRounding.AwayFromZero);123.4
【 例 】double result = Math.Round(123.45, 1, MidpointRounding.AwayFromZero);123.5
【 例 】double result = Math.Round(123.451, 1, MidpointRounding.AwayFromZero);123.5
▲TOP

Math.Sign メソッド

【機能】符号を示す数値を返します。
-1 : 数値は0未満
 0 : 数値は0
 1 : 数値は0より大きい
【書式】Math.Sign(short)
Math.Sign(int)
Math.Sign(long)
Math.Sign(float)
Math.Sign(double)
Math.Sign(decimal)
Math.Sign(sbyte)
【 例 】int result = Math.Sign(123);1
【 例 】int result = Math.Sign(0);0
【 例 】int result = Math.Sign(-123);-1
▲TOP