当我试图计算折扣价时,它返回0,这是错误的.总数为100,折扣百分比为10%.我确定这个公式,但它会继续返回0.
我的c#代码:
protected void TxtDiscountPER_TextChanged(object sender, EventArgs e)
{
TxtDiscountAMT.Text = Convert.ToString(((Convert.ToInt16(TxtDiscountPER.Text)) / 100) * (Convert.ToInt16(TxtTotalAmt.Text)));
}
Run Code Online (Sandbox Code Playgroud)
Hei*_*nzi 11
这里:
(Convert.ToInt16(TxtDiscountPER.Text)) / 100
Run Code Online (Sandbox Code Playgroud)
你使用整数除法将Int16(10)除以Int32(100),得分.引用MSDN:0
除以两个整数后,结果始终为整数.例如,7/3的结果是2.要确定7/3的余数,请使用余数运算符(%).要获得商作为有理数或分数,请给予被除数或除数类型float或double类型.
我建议您使用十进制数据类型而不是float或double,因为十进制更适合货币值:
(Convert.ToDecimal(TxtDiscountPER.Text)) / 100
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
266 次 |
| 最近记录: |