字符串转换的类,如230991.291==>230,991.291
来源:互联网 发布:上香拜佛软件 编辑:程序博客网 时间:2024/05/16 13:03
public class FloattoString{
//if given 230991.291, should return the String "230,991.291"
//if given 200.0, should return the string "200"
//if given 87238.001, should return the string "87,238.001"
//if give -23870.0, should return the string "-23,870"
public String doubleToString(double value){
String strValue=value+"";
String strInt="";//取其整形部分
String strDec="";//取其小数部分
String result="";
//检查是否有小数点
int pos=strValue.lastIndexOf(".");
//if(pos>0){
//把字符按小数点拆分
strInt=strValue.substring(0, pos);
strDec=strValue.substring(pos);
int intValue=Integer.parseInt(strInt);
//加上小数部分
if(intValue!=value){
result+=strDec;
}
//如果是正数则直接输出,负数则加上负号
String resultTemp="";
if(intValue>=0){
resultTemp=getResult(intValue);
result=resultTemp+result;
}else{
intValue=intValue*-1;
resultTemp=getResult(intValue);
result="-"+resultTemp+result;
}
//如果小数点后为0则不按整数输出
//}
return result;
}
//把传过来的整弄值变成123456789--->123,456,789
private String getResult(int value){
int intValue=value;
String result="";
while(true){
int t1=intValue/1000;
int t2=intValue%1000;
if(t1!=0){
result=","+t2+result;
}
//最后一次前面不加","
if(t1==0){
result=t2+result;
break;
}
intValue=t1;
}
return result;
}
public static void main(String[] args){
//if given 230991.291, should return the String "230,991.291"
//if given 200.0, should return the string "200"
//if given 87238.001, should return the string "87,238.001"
//if give -23870.0, should return the string "-23,870"
double a=(double)230991.291;
double b=(double)200.0;
double c=(double)87238.001;
double d=(double)-23870.0;
double e=(double)1234567;
FloattoString fs=new FloattoString();
String rs=fs.doubleToString(a);
System.out.println(rs);
System.out.println(fs.doubleToString(b));
System.out.println(fs.doubleToString(c));
System.out.println(fs.doubleToString(d));
System.out.println(fs.doubleToString(e));
//System.out.println(123.0==123);
}
}
- 字符串转换的类,如230991.291==>230,991.291
- C#基础学习日志===>命名空间的使用<===
- vc中把字符串转换成16进制数的函数(如'7F'->0x7F)
- while(cin>>str)无法结束的问题(zz)
- vc中把字符串转换成16进制数的函数(如^_^7f^_^->0x7f)
- 重载">>"时遇到的错误error C2679
- XLS文件读取 & cl_gui_frontend_services=>file_open_dialog
- 关于pl/sql 操作符=>
- .NET Core+Selenium+Github+Travis CI => SiteHistory
- <![CDATA[<= ]]> <<=>>=&'" 转译Z字符
- C#基础学习日志===&gt;Method&lt;===
- 几种通讯协议的比较RMI > Httpinvoker >= Hessian >> Burlap >> web service
- 几种通讯协议的比较RMI > Httpinvoker >= Hessian >> Burlap >> web service
- perl 数字<->字符串及其进制间的转换
- >/dev/null 2>&1的含义
- ubuntu --&gt;root用户的设定
- C++调用C#类库 && 非托管C++字符串和托管字符串的转换
- (转) 进程 &gt; 线程 &gt; 消息队列,三者的包含关系
- 在Redhat Linux 9平台下SkyEye试用手记
- 对无线业务的简单认识
- 哈佛成功金句 -25则
- ORACLE大对象
- 职场兵法:2005我要做有钱人!(转)
- 字符串转换的类,如230991.291==&gt;230,991.291
- 在C# 编程中通过类名动态创建实例
- JDBC 2.0中的高级数据类型(转)
- 选择select的指定值!
- JSP的MD5程序!
- Linux操作系统(操作系统术语详解)
- Jdom的使用方法!
- 庆祝平生第一次中奖
- 亚洲标准Linux操作系统即将面世