/*
下面代码用于计算财务 对应 原始价 打折价 打折率
*/using System;class UseDecimal
{
public static void Main(){
decimal a;
//decimal定义a decimal使用128位来表示1E-28 ~ 7.9e+28之间的数值
//这种数值可以精确的表示28位有效数字,表示小数时不会出现舍入错误的能力
decimal b;
decimal a_b; a = 19.95m;
b = 0.15m;
//小数常数量后面必须有一个m
a_b = a - (a * b);
//ab等于 19.95减(19.95乘1.15) Console.WriteLine("Discounted price: $" + a_b);
//等于16.9575
}
}//decimal定义a decimal使用128位来表示1E-28 ~ 7.9e+28之间的数值
1E-28 ~ 7.9e+28 是什么数字和什么数字之间//小数常数量后面必须有一个m
为什么?
下面代码用于计算财务 对应 原始价 打折价 打折率
*/using System;class UseDecimal
{
public static void Main(){
decimal a;
//decimal定义a decimal使用128位来表示1E-28 ~ 7.9e+28之间的数值
//这种数值可以精确的表示28位有效数字,表示小数时不会出现舍入错误的能力
decimal b;
decimal a_b; a = 19.95m;
b = 0.15m;
//小数常数量后面必须有一个m
a_b = a - (a * b);
//ab等于 19.95减(19.95乘1.15) Console.WriteLine("Discounted price: $" + a_b);
//等于16.9575
}
}//decimal定义a decimal使用128位来表示1E-28 ~ 7.9e+28之间的数值
1E-28 ~ 7.9e+28 是什么数字和什么数字之间//小数常数量后面必须有一个m
为什么?
e就是10的多少次方。
decimal是强类型。必须在常量值类型下加M。否则输入的常量表达式,加入是2,则2按int处理,3.34按double处理。这是C#编译器的规定再举个例子,如果要给float型赋值,必须是3.34f,否则3.34会按double处理。这样编译器就会报错,说float不足以容纳double。