首页编程java编程java中的小数点有什么作用,学java最重要的是学java的什么内容

java中的小数点有什么作用,学java最重要的是学java的什么内容

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

大家好,感谢邀请,今天来为大家分享一下java中的小数点有什么作用的问题,以及和学java最重要的是学java的什么内容的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

java中的小数点有什么作用,学java最重要的是学java的什么内容

Java中怎么把除法精确到小数点后100位

JAVA中如何对double或者float的浮点数进行精度计算,

在JAVA中提供了多种参数来实现精度的不同控制方式。

具体例子如下:

java中的小数点有什么作用,学java最重要的是学java的什么内容

package com.soft4j.utility;

import java.math.BigDecimal;

java中的小数点有什么作用,学java最重要的是学java的什么内容

/**

*与小数位精度(四舍五入等)相关的一些常用工具方法.

*

* float/double的精度取值方式分为以下几种:<br>

* java.math.BigDecimal.ROUND_UP<br>

* java.math.BigDecimal.ROUND_DOWN<br>

* java.math.BigDecimal.ROUND_CEILING<br>

* java.math.BigDecimal.ROUND_FLOOR<br>

* java.math.BigDecimal.ROUND_HALF_UP<br>

* java.math.BigDecimal.ROUND_HALF_DOWN<br>

* java.math.BigDecimal.ROUND_HALF_EVEN<br>

*

*@author stephen

*@version 1.0.0

*/

public final class RoundTool{

/**

*对double数据进行取精度.

*<p>

* For example:<br>

* double value= 100.345678;<br>

* double ret= round(value,4,BigDecimal.ROUND_HALF_UP);<br>

* ret为100.3457<br>

*

*@param value

* double数据.

*@param scale

*精度位数(保留的小数位数).

*@param roundingMode

*精度取值方式.

*@return精度计算后的数据.

*/

public static double round(double value, int scale, int roundingMode){

BigDecimal bd= new BigDecimal(value);

bd= bd.setScale(scale, roundingMode);

double d= bd.doubleValue();

bd= null;

return d;

}

/**

*测试用的main方法.

*

*@param argc

*运行参数.

*/

public static void main(String[] argc){

//下面都以保留2位小数为例

//ROUND_UP

//只要第2位后面存在大于0的小数,则第2位就+1

System.out.println(round(12.3401,2,BigDecimal.ROUND_UP));//12.35

System.out.println(round(-12.3401,2,BigDecimal.ROUND_UP));//-12.35

//ROUND_DOWN

//与ROUND_UP相反

//直接舍弃第2位后面的所有小数

System.out.println(round(12.349,2,BigDecimal.ROUND_DOWN));//12.34

System.out.println(round(-12.349,2,BigDecimal.ROUND_DOWN));//-12.34

//ROUND_CEILING

//如果数字>0则和ROUND_UP作用一样

//如果数字<0则和ROUND_DOWN作用一样

System.out.println(round(12.3401,2,BigDecimal.ROUND_CEILING));//12.35

System.out.println(round(-12.349,2,BigDecimal.ROUND_CEILING));//-12.34

//ROUND_FLOOR

//如果数字>0则和ROUND_DOWN作用一样

//如果数字<0则和ROUND_UP作用一样

System.out.println(round(12.349,2,BigDecimal.ROUND_FLOOR));//12.34

System.out.println(round(-12.3401,2,BigDecimal.ROUND_FLOOR));//-12.35

//ROUND_HALF_UP [这种方法最常用]

//如果第3位数字>=5,则第2位数字+1

//备注:只看第3位数字的值,不会考虑第3位之后的小数的

System.out.println(round(12.345,2,BigDecimal.ROUND_HALF_UP));//12.35

System.out.println(round(12.3449,2,BigDecimal.ROUND_HALF_UP));//12.34

System.out.println(round(-12.345,2,BigDecimal.ROUND_HALF_UP));//-12.35

System.out.println(round(-12.3449,2,BigDecimal.ROUND_HALF_UP));//-12.34

//ROUND_HALF_DOWN

//如果第3位数字>=5,则做ROUND_UP

//如果第3位数字<5,则做ROUND_DOWN

System.out.println(round(12.345,2,BigDecimal.ROUND_HALF_DOWN));//12.35

System.out.println(round(12.3449,2,BigDecimal.ROUND_HALF_DOWN));//12.34

System.out.println(round(-12.345,2,BigDecimal.ROUND_HALF_DOWN));//-12.35

System.out.println(round(-12.3449,2,BigDecimal.ROUND_HALF_DOWN));//-12.34

//ROUND_HALF_EVEN

//如果第3位是偶数,则做ROUND_HALF_DOWN

//如果第3位是奇数,则做ROUND_HALF_UP

System.out.println(round(12.346,2,BigDecimal.ROUND_HALF_EVEN));//12.35

System.out.println(round(12.345,2,BigDecimal.ROUND_HALF_EVEN));//12.35

}

}

相关文章:

《Double精度的常用设置》

http://henry406.javaeye.com/blog/459669

import java.text.DecimalFormat;

import java.math.BigDecimal;

public class Test_Double{

public static void main(String[] args){

//-----方法1--------四舍五入 round对负数是五舍六入

double d_1= 123.9;

System.out.println("d_1="+Math.round(d_1));

//-------方法2------------------

DecimalFormat decfmt= new DecimalFormat("##0.00");

System.out.println(decfmt.format(1.33482222));

//--------方法3--------------

double x= 1.33345;

java.text.NumberFormat formate= java.text.NumberFormat.getNumberInstance();

formate.setMaximumFractionDigits(3);//设定小数最大为数,那么显示的最后会四舍五入的

String m= formate.format(x);

System.out.println(m);

//--------方法4--------------

BigDecimal bd= new BigDecimal(1.234543);

bd= bd.setScale(3,BigDecimal.ROUND_HALF_EVEN);

double d= bd.doubleValue();

System.out.println(d);

//--------取消科学计数法-------------

Double dValue= Double.valueOf("276363652844.8477474");

System.out.println(dValue);

BigDecimal original= new BigDecimal(dValue.doubleValue());

BigDecimal result= original.setScale(2, BigDecimal.ROUND_HALF_DOWN);

String test= result.toString();

System.out.println(test);

}

}

学java最重要的是学java的什么内容

你好,学习java只要掌握好方式和方法,其实学起来并不是非常难。比如你可以自学也可以选择机构学。

java是目前主流的开发语言,程序员不论是大数据、云计算、web前端、后端开发等都需要从java学起,如果你想计入IT高薪行列,建议学java!

java学的内容主要有:

①JAVA编程基础(基础语法、面向对象、和谐特性等)

②WEB应用开发(静态网页制作、Oracle数据库、Java Web开发技术、Linux技术、网站性能与安全、软件工程开发流程、Java Web和谐等)

③企业级框架开发(数据结构与算法、SSH框架、JavaEE和谐等)

④项目实训

互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。

祝你学有所成,望采纳。

java中有关cin.hasNext();求高手!!

亲,这些方法是有用的,下面举个例子:

假如你有一个文件,内容是“12345678”。按照上面所说的,只有一个hasNext()方法,假设这个hasNext方法的作用是判断是否有下一个字符(Char)。你在读取这个文件的时候,只需要尝试着读一个字符,如果有的话,就返回true;没有的话,就返回false。

好了,你又有一个需求,那就是直接从文件中读取阿拉伯数字。要求读到的内容是(1、2、3、4、5、6、7、8),而不是("1","2","3","4","5","6","7","8")。这时候你可能会觉得转换一下不就了事了吗:将读取到的字符转换成int来判断就行了。

但是还有更复杂的情况:假如文件中存放的内容是:"1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8",这时候刚好有一个需求,要你将文件中的这些小数读取出来,这时候你要判断是否有下一个小数的话做的工作就多了:先读取第一个字符"1",然后读取小数点".",然后是下一个字符“1”,然后遇到了空格,停止(记住,这时候你只有一个能判断Char的hasNext可用,你只能一个一个的把字符读出来进行判断);将前面读取到的三个字符("1",".","1")合并以后转换成小数1.1;紧接着是第二个,以此类推,一直到把所有的小数都读取出来。

好了,现在的需求出来了:

1)将文件中的内容以小数的形式读取出来;

2)将文件中的内容以整数的形式读取出来;

3)将文件中的内容以字符串的形式读取出来;

4)将文件中的内容以boolean的形式读取出来;

5)将文件中的内容以字节的形式读取出来;

6)还有很多不同的需求......

这时候你就不得不写一些非常纠结的代码来进行判断和读取,你需要自己来测试这些方法的正确性。在你一番焦头烂额之后,才会觉得那些hasNextXxx()方法是那么的方便,省去了你很多不必要的编码,难道这不正是工具类所要达到的效果吗?所以这些东西还是有用的,要等你碰到类似的需求时候就认识到了。

在此声明一下,Scanner类的实现并没有我上面说的那么简单,它综合了很多种数据读取方式,还有一个重要的内容,那就是分隔符,用户在读取文件之前可以先设置好分隔符,告诉Scanner如何去分割文件中的内容,比如“1.1 2.2 3.3 4.4”,这里的分隔符就是空格""。Scanner会先用空格来分割字符串,然后判断是否有小数内容。

好了,文章到这里就结束啦,如果本次分享的java中的小数点有什么作用和学java最重要的是学java的什么内容问题对您有所帮助,还望关注下本站哦!

winner组合(winner组合图片高清)什么是java io?java中的IO流是什么啊该怎么理解啊