100分求一个简单问题,分不够再加!在线等,急急急!
程序如下:
double fltUnitPrice;
double fltArea;
fltUnitPrice = float.Parse(txtUnitPrice.Text.ToString());
fltArea = float.Parse(txtArea.Text.ToString());
fltHouseAmount = fltUnitPrice * fltArea;
其中有两个textBox,一个名为txtUnitPrice,txtArea,输入值后分别赋予到fltUnitPrice和fltArea变量中
现在遇到的问题是明明我输入的是3120.3,而程序运行时值变成3120.35?
而且fltHouseAmount = fltUnitPrice * fltArea;
3120.3 * 120.5 居然会等于 375996.156?请问这是怎么回事啊?谢谢!
问题点数:100、回复次数:10Top
1 楼13880079673(CMonkey)回复于 2004-12-02 10:49:40 得分 10
用decimal 类型代替double就行了,double是近似运算,而decimal 是精确运算Top
2 楼kong19(DayDayUp)回复于 2004-12-02 10:49:40 得分 0
把float改称decimal试试Top
3 楼yangqi0218(狒狒)回复于 2004-12-02 10:51:19 得分 0
打错,程序更正如下:
private float fltUnitPrice;
private float fltArea;
private float fltHouseAmount;
fltUnitPrice = float.Parse(txtUnitPrice.Text.ToString());
fltArea = float.Parse(txtArea.Text.ToString());
fltHouseAmount = fltUnitPrice * fltArea;
Top
4 楼hanbinghai(海宁)回复于 2004-12-02 10:54:56 得分 50
double fltUnitPrice;
double fltArea;
fltUnitPrice = Convert.ToDouble(txtUnitPrice.Text);
fltArea = Convert.ToDouble(txtArea.Text);
double hai = fltUnitPrice * fltArea;
如果这样是正确的
估计是float.Parse用法不对
Top
5 楼kong19(DayDayUp)回复于 2004-12-02 10:57:26 得分 30
private decimal fltUnitPrice;
private decimal fltArea;
private decimal fltHouseAmount;
fltUnitPrice = decimal .Parse(txtUnitPrice.Text);
fltArea = decimal .Parse(txtArea);
fltHouseAmount = fltUnitPrice * fltArea;
Top
6 楼taly1111(taly)回复于 2004-12-02 11:04:41 得分 10
用decimal吧,挺好,也够用了
实在不行就double
或者自己定义一下float的格式Top
7 楼hanbinghai(海宁)回复于 2004-12-02 11:06:27 得分 0
有意思,fltUnitPrice = float.Parse(txtUnitPrice.Text.ToString());
fltArea = float.Parse(txtArea.Text.ToString());
没有问题
fltUnitPrice * fltArea
相乘的结果不是想要的结果
等待原因
Top
8 楼yangqi0218(狒狒)回复于 2004-12-02 11:07:57 得分 0
谢谢各位,问题解决了!谢谢!Top
9 楼kong19(DayDayUp)回复于 2004-12-02 11:10:12 得分 0
浮点数据类型float和double保存的是近似值,准确值要使用decimalTop
10 楼xiaojhun(xiao)回复于 2004-12-02 11:19:45 得分 0
float.Parse语句普遍应用在把INT等数值类型的转换,注意这条语句“txtUnitPrice.Text.ToString()”,他是字符型Top
相关问题
- Access+SQL+ADO(400分!!!!!)求助!!不够再给!!!急急急急急急急急急
- ●●●●●●●●●●急急急急急急急急急急急急●●●●●●●●●●UP有分,分不够可再加
- 高分请教两个问题,不够再加,急急急急急急!!!!!!!
- 急急急急急急急急急急急如何从数组中依次取出数据分不够我再加!!!!!
- 求助 散分100 急 急急急急急急急急急
- 高分求ASP用户密码如何加密?急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!
- 急急急急急急!!!!!!!!!高分求助!!!!!!!!!
- 急急急急急急急急急...在线等...解决放分
- 急!急!急!请教各位高手~~~~~~~~~~~!!!(分不够可再加)
- 急急急,分不够可以再加!DoModal()函数出错!




