『壹』 java 百分比转成int,如:0.10% 转成 1
你百分数如果是带%的话,那先用String的replace方法将%给去掉,然后再得到的数转换成double型的变量,再乘以100,再转成int型就可以了。
『贰』 java如何把一个数如:40000,变成:40,000.00这样的格式啊
使用java.text.DecimalFormat类.
DecimalFormat df = new DecimalFormat("0,000.00");
具体参数可以参见API, 这里提供一部分
符号 位置 本地化? 含义
0 数字 是 阿拉伯数字
# 数字字 是 阿拉伯数字,如果不存在则显示为 0
. 数字 是 小数分隔符或货币小数分隔符
- 数字 是 减号
, 数字 是 分组分隔符
E 数字 是 分隔科学计数法中的尾数和指数。在前缀或后缀中无需加引号。
; 子模式边界 是 分隔正数和负数子模式
% 前缀或后缀 是 乘以 100 并显示为百分数
\u2030 前缀或后缀 是 乘以 1000 并显示为千分数
¤ (\u00A4) 前缀或后缀 否 货币记号,由货币符号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符。
' 前缀或后缀 否 用于在前缀或或后缀中为特殊字符加引号,例如 "'#'#" 将 123 格式化为 "#123"。要创建单引号本身,请连续使用两个单引号:"# o''clock"。
『叁』 在java 中如何把一个字符串格式的百分数转换成为小数
Java API文档提供了对数值格式化的类NumberFormat。NumberFormat
是所有数值格式的抽象基类。此类提供格式化和解析数值的接口。NumberFormat
还提供了一些方法来确定哪些语言环境具有数值格式,以及它们的名称是什么。NumberFormat
可用于格式化和解析任何语言环境的数值。使代码能够完全独立于小数点、千位分隔符甚至所用特定小数位数的语言环境约定,并与数值格式是否为偶小数无关。这是一个例子:
import java.text.NumberFormat;//引入数值处理的包
import java.text.ParseException;//引入可能出现的异常包
String str="34.2%";//字符串类型的百分数
NumberFormat nf=NumberFormat.getPercentInstance();//NumberFormat是一个工厂,可以直接getXXX创建,而getPercentInstance()
是返回当前默认语言环境的百分比格式。
Number m=nf.parse(str);//提供了带有 ParsePosition 和 FieldPosition 的
parse 和 format 方法的形式,parse(xx)表示解析给定字符串开头的文本,生成一个数值。
逐步地解析字符串的各部分
System.out.println(m);//打印数值
你不必重复造轮子。
『肆』 java的百分数输出问题
import java.text.NumberFormat;
/**
*
* @author Administrator
*/
public class Question8 {
/** Creates a new instance of Question8 */
public Question8() {
}
public static void main(String[] args){
NumberFormat nf = NumberFormat.getPercentInstance();
nf.setMaximumIntegerDigits(3); // 设置数的整数部分所允许的最大位数
nf.setMaximumFractionDigits(2);// 设置数的小数部分所允许的最大位数
double d = 0.2;
System.out.println(nf.format(d));
}
}