《ASP.NET实例自学手册》中输入小数出错?
发表在ASP.NET图书答疑 2008-09-11
是否精华
版块置顶:
ASP.NET实例自学手册
在文件Stock_add.aspx.cs中

    protected void Button1_Click(object sender, EventArgs e)
    {
        string CommodityId=this.CommodityId.Text.ToString();
        string CompanyId=this.CompanyId.Value.ToString();
        int Number = Math.Abs(Convert.ToInt32(this.Number.Text));
        int Pirce =  Math.Abs(Convert.ToInt32(this.Pirce.Text));
        string StockDate=this.StockDate.SelectedDate.ToShortDateString();
        string SettlementType=this.SettlementType.Text.ToString();
        int Payment = Math.Abs(Convert.ToInt32(Request["Payment"]));
        int FactPayment = Math.Abs(Convert.ToInt32(this.FactPayment.Text));
        int NotPayment = Math.Abs(Convert.ToInt32(Request["NotPayment"]));
        string ManageMan=this.ManageMan.Text.ToString();
        string Username = Convert.ToString(Session["username"]);
        string AddTime=Convert.ToString(DateTime.Now);
        string Type = "进货信息";
        //计算输入的金额是否正确
        if (Number * Pirce < Payment)
        {
            Response.Write("<script>alert('应付金额填写错误');history.back()</script>");
            Response.End();
        }
        SqlConnection strcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);
        strcon.Open();
        SqlCommand scd = new SqlCommand("insert into tb_Stock (CommodityId,CompanyId,Number,Pirce,StockDate,SettlementType,Payment,FactPayment,NotPayment,ManageMan,Username,AddTime,Type)values('" + CommodityId + "','" + CompanyId + "','" + Number + "','" + Pirce + "','" + StockDate + "','" + SettlementType + "','" + Payment + "','" + FactPayment + "','" + NotPayment + "','" + ManageMan + "','" + Username + "','" + AddTime + "','" + Type + "')", strcon);
        scd.ExecuteNonQuery();
        strcon.Close();
        Response.Write("<script language=javascript>alert('添加成功');location='Stock_return.aspx'</script>");
    }


其中Pirce,Payment,FactPayment,NotPayment都是int,在输入带有小数点的数字时,会出错,应该怎样改才合理呢?而还有很多地方又怎样改呢?
分享到:
精彩评论 1
小宇O_O
学分:0 LV1
2008-09-12
沙发
读者:
     您好,感谢您对明日图书的关注!如果你想要输入带小数点的数字的话需要修改以下几个地方。
1.首先你需要将数据库中的int数据类型修改为float类型。用来存储带小数的数字。
2.将Stock_add.aspx页面中的两个javaScript脚本修改一下。将jisuan()函数中的....(省略了)=n1*n2这句话修改为....(省略了)=(n1*n2).toFixed(2)。将fact()函数中的.....=payment-factpaynent修改为.....=(payment-factpaynent).toFixed(2)。这两个函数是自动计算应收金额和未收金额的。使用toFixed(2)是为了截取两位小数。
3.将文件Stock_add.aspx.cs中这句话int Pirce = Math.Abs(Convert.ToInt32(this.Pirce.Text));修改为float Pirce = Math.Abs(Convert.ToSingle(this.Pirce.Text));将获取的金额转换为float类型。
4.将文件Stock_add.aspx.cs中的以下这句话删除掉:
//计算输入的金额是否正确
if (Number * Pirce < Payment)
{
Response.Write("<script>alert('应付金额填写错误');history.back()</script>");
Response.End();
}
通过以上的修改该页面就可以输入小数了,如果其他地方还需要修改的话请参照以上所介绍的方法。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照