首页编程java编程java百分比用什么类型 JAVA怎么计算百分比

java百分比用什么类型 JAVA怎么计算百分比

编程之家2023-10-14111次浏览

大家好,今天小编来为大家解答以下的问题,关于java百分比用什么类型,JAVA怎么计算百分比这个很多人还不知道,现在让我们一起来看看吧!

java百分比用什么类型 JAVA怎么计算百分比

求java高手解答

String.Format专用类似于C#中{0}用法

%1$s表示第一个替换位置是以字符串类型放入

java百分比用什么类型 JAVA怎么计算百分比

例如

java百分比用什么类型 JAVA怎么计算百分比

System.out.println(String.format("%1$s您好%2$s","某某","!"));输出的是“某某您好!”

String.format后第一个参数是表达式,后面可以放入N个待放入值

更详细用法参考下面:

import java.math.BigDecimal;

/**

* 1.%[argument_index$][flags][width][.precision]conversion

*

* String.format("%1$s",1234,5678);指向第一个参数转换为字符串

* String.format("%1$s%2$s",1234,5678);将两个参数格式化为字符串,并连接在一起

* String.format("%s",1234,5678);指向第一个参数转换为字符串

* String.format("%s%06d",1234,5678);将第一个格式化为“1234”第二个格式化005678 w

*/

public class StringFormat{

/**

*处理浮点型数据应用范围float、Float、double、Double和 BigDecimal

*%[argument_index$][flags][width][.precision]conversion

*%[index$][标识][最小宽度][保留精度]转换方式

*标识:

*'-'在最小宽度内左对齐,不可以与“用0填充”同时使用

*'+'结果总是包括一个符号

*''正值前加空格,负值前加负号

*'0'结果将用零来填充

*','每3位数字之间用“,”分隔(只适用于fgG的转换)

*'('若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(只适用于eEfgG的转换)

*最小宽度:最终该整数转化的字符串最少包含多少位数字

*保留精度:保留小数位后面个数

*转换方式:

*'e','E'--结果被格式化为用计算机科学记数法表示的十进制数

*'f'--结果被格式化为十进制普通表示方式

*'g','G'--根据具体情况,自动选择用普通表示方式还是科学计数法方式

*'a','A'--结果被格式化为带有效位数和指数的十六进制浮点数

*

*/

public static void formatFloat(){

System.out.println(String.format("%1$e", 1234567890.123456789));//转换为科学记数法表示

System.out.println(String.format("%1$020e", 1234567890.123456789));//转换为科学记数法表示,长度为20,用0填充

System.out.println(String.format("%1$g", 12345.123456789));//根据结果制动识别使用转换器e或f

System.out.println(String.format("%1$a", 12345.123456789));//转换为16进制的浮点数

System.out.println(String.format("%1$,f", 1234567890.123456789));//转换结果保留默认小数位,3位数字用,隔开,转换为十进制表示

System.out.println(String.format("%1$,f", 1234567890.123456789));//转换结果保留默认小数位,3位数字用,隔开

System.out.println(String.format("%1$.10f", 1234567890.123456789));//转换结果是保留10位精度.转换成十进制表示方式

System.out.println(String.format("%1$,.100f", new BigDecimal("12345678909.1234567890123456789")));//转换结果是保留100位精度,没有精度丢失,整数位3个就用,隔开

System.out.println(String.format("%1$,.5f", 1234567890.123456789));//转换结果保留5位小数,3位数字用,隔开

}

/**

*处理整数型数据应用范围 byte、Byte、short、Short、int、Integer、long、Long和 BigInteger

*

*%[argument_index$][flags][width]conversion

*%[index$][标识][最小宽度]转换方式

*标识:

*'-'在最小宽度内左对齐,不可以与“用0填充”同时使用

*'#'只适用于8进制和16进制,8进制时在结果前面增加一个0,16进制时在结果前面增加0x

*'+'结果总是包括一个符号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)

*''正值前加空格,负值前加负号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)

*'0'结果将用零来填充

*','只适用于10进制,每3位数字之间用“,”分隔

*'('若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(同‘+’具有同样的限制)

*最小宽度:最终该整数转化的字符串最少包含多少位数字

*转换方式:d-十进制 o-八进制 x或X-十六进制

*/

public static void formatNumber(){

System.out.println(String.format("%1$d",-31));//格式化成数值表示使用十进制,结果"-31"

System.out.println(String.format("%1$o",-31));//格式化成数值表示使用八进制,结果"37777777741"

System.out.println(String.format("%1$19d",-31));//格式化成数值表示使用十进制,总长度显示19位结果"-31"

System.out.println(String.format("%1$-19d",-31));//格式化成数值表示使用十进制,总长度显示19位,左靠齐结果"-31"

System.out.println(String.format("%1$09d",-31));//格式化成数值表示,使用十进制,结果"-00000031"

System.out.println(String.format("%1$,9d",-3123));//每3位数字用,隔开,总长度9位,结果"-3,123"

System.out.println(String.format("%1$,09d",-3123));//每3位数字用,隔开,用0填充总长度9位,结果"-0003,123"

System.out.println(String.format("%1$(9d",-3123));//每3位数字用,用0填充总长度9位,结果"(3123)"

System.out.println(String.format("%1$ 9d",-31));

}

/**

*处理字符型数据

*对字符进行格式化是非常简单的,c C表示字符,标识中'-'表示左对齐,其他就没什么了

*/

public static void formatChar(){

System.out.println(String.format("%1$c", 97));//转换为字符

System.out.println(String.format("%1$10c",'邹'));//转换为字符,十位

System.out.println(String.format("%1$-10c",'鸿'));//转换为字符,十位,靠左

}

/**

*格式化百分比.%特殊字符。转义格式为%%而不是\

*/

public static void formatBaiFenBi(){

System.out.println(String.format("%1$f%%", 12.123456));

System.out.println(String.format("%1$.4f%%", 12.123456));//留取4位小数,4舍5入

BigDecimal a= new BigDecimal("12.12"),b= new BigDecimal("13.13");

BigDecimal c= a.divide(b,28,BigDecimal.ROUND_HALF_UP);//保留28位小数

System.out.println(c+"");

System.out.println(String.format("%1$.28f", c));//格式为保留28位小数

}

/**

*获取独立平台行分隔符

*/

public static void getSeparator(){

System.out.println(String.format("%n"));

System.out.println( System.getProperty("line.separator"));

}

/**

*格式化日期(可用范围long,Long,Calendar,java.util.Date)

*%[index$][标识][最小宽度]转换方式

*标识:

*日期和时间转换字符的前缀 t或者T

*转换方式:

*格式化日期转换字符

*'B'特定于语言环境的月份全称,例如"January"和"February"。

*'b'特定于语言环境的月份简称,例如"Jan"和"Feb"。

*'h'与'b'相同。

*'A'特定于语言环境的星期几全称,例如"Sunday"和"Monday"

*'a'特定于语言环境的星期几简称,例如"Sun"和"Mon"

*'C'除以 100的四位数表示的年份,被格式化为必要时带前导零的两位数,即 00- 99

*'Y'年份,被格式化为必要时带前导零的四位数(至少),例如,0092等于格里高利历的 92 CE。

*'y'年份的最后两位数,被格式化为必要时带前导零的两位数,即 00- 99。

*'j'一年中的天数,被格式化为必要时带前导零的三位数,例如,对于格里高利历是 001- 366。

*'m'月份,被格式化为必要时带前导零的两位数,即 01- 13。

*'d'一个月中的天数,被格式化为必要时带前导零两位数,即 01- 31

*'e'一个月中的天数,被格式化为两位数,即 1- 31。

*

*格式化时间字符

*'H' 24小时制的小时,被格式化为必要时带前导零的两位数,即 00- 23。

*'I' 12小时制的小时,被格式化为必要时带前导零的两位数,即 01- 12。

*'k' 24小时制的小时,即 0- 23。

*'l' 12小时制的小时,即 1- 12。

*'M'小时中的分钟,被格式化为必要时带前导零的两位数,即 00- 59。

*'S'分钟中的秒,被格式化为必要时带前导零的两位数,即 00- 60("60"是支持闰秒所需的一个特殊值)。

*'L'秒中的毫秒,被格式化为必要时带前导零的三位数,即 000- 999。

*'N'秒中的毫微秒,被格式化为必要时带前导零的九位数,即 000000000- 999999999。

*'p'特定于语言环境的上午或下午标记以小写形式表示,例如"am"或"pm"。使用转换前缀'T'可以强行将此输出转换为大写形式。

*'z'相对于 GMT的 RFC 822格式的数字时区偏移量,例如-0800。

*'Z'表示时区缩写形式的字符串。Formatter的语言环境将取代参数的语言环境(如果有)。

*'s'自协调世界时(UTC) 1970年 1月 1日 00:00:00至现在所经过的秒数,即 Long.MIN_VALUE/1000与 Long.MAX_VALUE/1000之间的差值。

*'Q'自协调世界时(UTC) 1970年 1月 1日 00:00:00至现在所经过的毫秒数,即 Long.MIN_VALUE与 Long.MAX_VALUE之间的差值

*格式化时间组合字符

*'R' 24小时制的时间,被格式化为"%tH:%tM"

*'T' 24小时制的时间,被格式化为"%tH:%tM:%tS"。

*'r' 12小时制的时间,被格式化为"%tI:%tM:%tS%Tp"。上午或下午标记('%Tp')的位置可能与语言环境有关。

*'D'日期,被格式化为"%tm/%td/%ty"。

*'F' ISO 8601格式的完整日期,被格式化为"%tY-%tm-%td"。

*'c'日期和时间,被格式化为"%ta%tb%td%tT%tZ%tY",例如"Sun Jul 20 16:17:00 EDT 1969"。

*

*/

public static void formatDate(){

long c= System.currentTimeMillis();

System.out.println(String.format("%1$tY-%1$tm-%1$td%1$tH:%1$tM:%1$tS", c));

System.out.println(String.format("%1$ty-%1$tm-%1$td%1$tI:%1$tM:%1$tS%1$tp%1$tb%1$ta", c));

System.out.println(String.format("%1$tF%1$tT", 1244943575031l));

}

/**

*规转换可应用于任何参数类型

*'b或B''\u0062'将生成"true"或"false",如果参数为 null,则结果为"false"。如果参数是一个 boolean值或 Boolean,那么结果是由 String.valueOf()返回的字符串。否则结果为"true"。

*'h或H''\u0068'生成一个表示对象的哈希码值的字符串。如果参数 arg为 null,则结果为"null"。否则,结果为调用 Integer.toHexString(arg.hashCode())得到的结果。

*'s或S''\u0073'生成一个字符串。如果参数为 null,则结果为"null"。如果参数实现了 Formattable,则调用其 formatTo方法。否则,结果为调用参数的 toString()方法得到的结果。

*

*

*/

public static void formatAny(){

System.out.println(String.format("%b%b%b%b", null,"","true",true));

String pattern="%1$s在%4$tF%4$tT说了\"%1$s爱%2$s%3$d年\"";

System.out.println(String.format(pattern,"mingming","shuilian",10000,System.currentTimeMillis()));

}

public static void main(String[] args){

formatAny();

}

}

成绩用什么数据类型

问题一:sql server中的成绩字段的数据类型一般是什么?可以用numeric(5,2)

或者decimal(5,2)

前面5表示总的位数,后面的2表示精度(小数点后的位数).比如 99.12, 100.00, 67.24

如果想精确到小数点后1位,可以修改为numeric(4,1)或decimal伐4,1)比如: 99.1, 100.0, 67.2

问题二:建立数据库(表)时%(百分数)用的是什么数据类型?数据库里没有百分数这样的类型,表示数字的有float,decimal等类型,表示文本的有varchar,char,ext等类型,如果你想存百分比的话,最好是建个float字段,把百分比计算成数值存进去,如果你非要存到库里面显示0%-100%这样的数值的话,那就用varchar类型的就可以了,取出的时候,你在换算就可以了。

问题三:程序设计中分数用什么类型变量分数用整数的除法表示,没有单独的变量类型.为了保证精度,需要定义8位16位...64位的整数或者浮点数表示.

问题四:要怎么判断什么时候用什么数据类型?定义:数据类型在数据结构中的定义是一个值的***以及定义在这个值集上的一组操作。

数据类型分类:

c语言基本数据类型short、int、long、char、float、doubleJava基本数据类型:byte short int long float double boolean char,String是类类型

sql数据类型:int、varchar、float、double、char、bit、datetime等

以java为例,定义学生姓名可以用String类型 public string name;定义年龄,可以用int整型类型,int age= 18;

定义考试成绩,可以用float或者double类型,定义性别,可以用char,也可以用bit,定位好其使用范围和作业即可

问题五:SQL储存分数用什么数据类型?为什么要村分数,你可以分两个字段,分别存分子和分母,展现的时候,拼接一下,计算就可以直接计算了

列:

select 1000*fz/fm,cast(fz as varchar(10))+'/'+cast(fm as varchar(10))

from t

问题六:建立数据库(表)时%(百分数)用的是什么数据类型?如果你要计算就建议用float,存成小数,使用的时候*100跟字符串加上'%&#唬9;,如果不需要计算就存储为字符串。

问题七:JAVA中有分数数据类型吗?没有分数类型,而且在计算中如果出现较长的小数或者无限循环、不循环小数,都会丢失精度,每个数据类型都有自己的精度范围,超出部分就丢失了

问题八:建立数据库(表)时%(百分数)用的是什么数据类型? gn_gr_no M010.GR_NO%type;

你说的是这样的吗?

这样就是定义一鼎东西和M010这个表的GR_NO字段一样的类型一样的大小!~

问题九:计算机中编程语言中有没有分数或类似分数的数据类型?您好目前我所知道的计算机语言中没有描述分数的数据类型。

从数学角度说,分数是一个中间类型,其最终表现形式是分数所对应的小数。

语言中一般这样处理分数的问题

a等于b乘五分之四 a= b* 4/ 5;或者直观点 a= b*( 4/ 5);

a等于b乘三又五分之四 a= b*((3* 5+4)/ 5);

目前来看没有自定义分数数据类型的必要性

另外根据不同的语言不同的数据类型和内存使用方式像三分之二等分数对应的实际值也可能不同

问题十:求问spss不同的数据类型分别用什么分析方法你有两种方法,

第一种方法是改变你的气质变量的类型:每个人有四种类型的气质分数,取其中最高的分数作为他的气质类型,这样的假设是每个人只有一种主导的气质类型.这样你就需要对你的原始数据进行修改,删除每个人其他三项比较低的分数,将最高的分数换成1,修改完以后就简单多了,做方差分析即可.当然,前提是每个人都只选一种颜色.

第二种方法,在不改原始数据的基础上,你只能每一个气质类型单独列出来进行分析,比如说气质A和颜色喜好进行相关分析.但是,这就不叫相关分析了,因为颜色洗好不是连续变量,是分类变量.这不要紧,换下思路,做方差分析,其实是一个意思,问题就变成了“不同颜色的喜好在气质A上的得分是否有显著性差异?”就这样能把四种气质类型全部分析出来.

在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怎么计算百分比

int num1= 7;

int num2= 9;

//创建一个数值格式化对象

NumberFormat numberFormat= NumberFormat.getInstance();

//设置精确到小数点后2位

public String getPercent(int x,int total){

String result="";//接受百分比的值

double x_double=x*1.0;

double tempresult=x/total;

numberFormat.setMaximumFractionDigits(2);

String result= numberFormat.format((float) num1/(float) num2* 100);

System.out.println("num1和num2的百分比为:"+ result+"%");

比较运算符

比较运算符属于二元运算符,用于程序中的变量之间,变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算的结果为true,否则为false。比较运算符共有6个,通常作为判断的依据用于条件语句中。

Java解释器在没有生成任何对象的情况下,以main作为入口来执行程序。每个类中可以定义多个方法,但main方法只能有一个。关键字public表示访问权限,指明所有的类都可以使用这一方法。

以上内容参考:百度百科-Java

java百分比用什么类型和JAVA怎么计算百分比的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

徐冲华为 徐冲华为海思java中类的定义是什么(java中什么是类)