开发者社区> 问答> 正文

JFinal:java.math.BigDecimal cannot be ca?报错

@JFinal 你好,想跟你请教个问题:

我在做一个购物车测试功能,小计金额时报错如下:

 java.math.BigDecimal cannot be cast to java.lang.Float

数据后台的表price字段的类型如下:

Name      Type         Length        Decimals

price       decimal      10                2      

qty的int型与price中的Float型相乖报错,应如何解决?,thks.

public class Gallery extends Model<Gallery> {
  public static final  Gallery dao=new Gallery();
  
}



                            
package com.demo.car;

import com.demo.gallery.Gallery;

public class CarItem {
	private Gallery  gallery;
	private int qty;
	private float  totalPrice;
	
	public CarItem(Gallery  gallery,int qty){
	   super();
       this.gallery=gallery;
       this.qty=qty;
	}
	
	
	public Gallery getGallery() {
		return gallery;
	}
	public void setGallery(Gallery gallery) {
		this.gallery = gallery;
	}
	public int getQty() {
		return qty;
	}
	public void setQty(int qty) {
		this.qty = qty;
	}
	public float  getTotalPrice() {
		this.totalPrice=this.qty*this.gallery.getFloat("price"); // 此处报错
		return totalPrice; 
	}
	
	public Float getPrice(){
		return this.gallery.getFloat("price");
	}
	

}                                                                                        



展开
收起
爱吃鱼的程序员 2020-06-22 11:43:03 605 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    <divclass="ref">

    引用来自“黄开源中国”的答案

    <divclass=ref_body>建议查看一下<spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">BigDecimal的api。。。具体就是创建一个<spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">BigDecimal对象,利用他的乘法方法。。先相乘,再取你要的int或者float  用BigDecimal保存值,或者将BigDecimal转成Float保存起来您还真是有耐心,不管问题类型,使用了jfinal都解答。佩服。赞一个。<divclass="ref">

    引用来自“JFinal”的答案

    <divclass=ref_body>  用BigDecimal保存值,或者将BigDecimal转成Float保存起来建议查看一下<spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">BigDecimal的api。。。具体就是创建一个<spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">BigDecimal对象,利用他的乘法方法。。先相乘,再取你要的int或者float

    2020-06-22 11:43:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载