我在数据库中存储打折折扣的列是浮点型,check约束,范围是0-1……
然后我在程序中是通过String型来显示这个折扣的,表示为XXX.XX%从数据库中浮点型到字符串型的转换是采用String.ValueOf(float)+%这样来表现的……
从字符串型转换到数据库中的浮点型的时候又应该怎么来弄呢?
我暂时想到的是把字符串按字符数组处理,把%前面的全部抠出来作为一个字符串,然后再变成浮点型……但是呢,这样做整个算法过程我觉得是很失败的……谁有更加好好点的方案么?学习下……
或者说,如果是你来设计数据库和程序的话,要实现这样的转换功能的话~~谢谢大家先了……
然后我在程序中是通过String型来显示这个折扣的,表示为XXX.XX%从数据库中浮点型到字符串型的转换是采用String.ValueOf(float)+%这样来表现的……
从字符串型转换到数据库中的浮点型的时候又应该怎么来弄呢?
我暂时想到的是把字符串按字符数组处理,把%前面的全部抠出来作为一个字符串,然后再变成浮点型……但是呢,这样做整个算法过程我觉得是很失败的……谁有更加好好点的方案么?学习下……
或者说,如果是你来设计数据库和程序的话,要实现这样的转换功能的话~~谢谢大家先了……
解决方案 »
- Java系列教材已更新
- String 数组问题?
- java 如何将EBCDIC码转成Ascii码字符!!!急,谢谢!!!!!
- 如何接收输入的字符?
- jdbc for access?50分的小问题。
- 请教大侠:关于JFormattedTextField问题!高分~~~~
- 各位大哥,为啥不回我的帖子
- 有人研究过这个开发源码的项目没有:http://www.compiere.org/index.html
- 使用JBuild开发计费网关
- 如何到到一个局部变量的泛型型别
- .class文件中不明白的问题 记录
- JOptionPane.showMessageDialog和 showInputDialog的参数
没想到其它做法
String str="1234.45%";
str=str.substring(0,str.length()-1);
new Double(str);
不了解你的业务需求
感觉。。0%~1%的折扣有点怪异! 应该是0%~100%之间的吧?
数据库中可以考虑用0~100的money(SQLServer)存储,程序中直接用double存,
页面显示加%就好了。 如100%即全价、0%不要钱~
目前的计算机,处理float与处理double的速度相差无几,呵呵。一般还是建议使用double。
都是浮点数 还不如直接存储0~100呢!
另外 数据库中用float也容易出问题 最好用numeric、money之类的