How to get the numbers after the decimal point? (java)
Well, you can use:
double x = d - Math.floor(d);
Note that due to the way that binary floating point works, that won't give you exactly 0.321562, as the original value isn't exactly 4.321562. If you're really interested in exact digits, you should use BigDecimal
instead.
How to get the decimal part of a float?
float
only has a few digit of precision so you should expect to see a round error fairly easily. try double
this has more accuracy but still has rounding errors. You have to round any answer you get to have a sane output.
If this is not desireable you can use BigDecimal which does not have rounding errors, but has its own headaches IMHO.
EDIT: You may find this interesting. The default Float.toString() uses minimal rounding, but often its not enough.
System.out.println("With no rounding");
float n = 22.65f;
System.out.println("n= "+new BigDecimal(n));
float expected = 0.65f;
System.out.println("expected= "+new BigDecimal(expected));
System.out.println("n % 1= "+new BigDecimal(n % 1));
System.out.println("n - Math.floor(n) = "+new BigDecimal(n - Math.floor(n)));
System.out.println("n - (int)n= "+new BigDecimal(n - (int)n));
System.out.println("With rounding");
System.out.printf("n %% 1= %.2f%n", n % 1);
System.out.printf("n - Math.floor(n) = %.2f%n", n - Math.floor(n));
System.out.printf("n - (int)n= %.2f%n", n - (int)n);
Prints
With no rounding
n= 22.6499996185302734375
expected= 0.64999997615814208984375
n % 1= 0.6499996185302734375
n - Math.floor(n) = 0.6499996185302734375
n - (int)n= 0.6499996185302734375
With rounding
n % 1= 0.65
n - Math.floor(n) = 0.65
n - (int)n= 0.65
How to check if a double value has no decimal part
You could simply do
d % 1 == 0
to check if double d
is a whole.
Get decimal portion of a number with JavaScript
Use 1
, not 2
.
js> 2.3 % 1
0.2999999999999998
Related Topics
Jparepository Findall() Returns Empty Result
How to Check Whether the Given Object Is Object or Array in Json String
How to Bypass Google Recaptcha for Testing Using Selenium
Dynamically Change Application.Properties Values in Spring Boot
How to Get the Ip of the Wifi Hotspot in Android
The Request Was Rejected Because No Multipart Boundary Was Found in Springboot
Transaction Marked as Rollback Only: How to Find the Cause
Forwarding the Request from One Jsp to Another Jsp With All Request Parameters
How to Quickly Check If Url Server Is Available
Why Does Intellij Idea Suddenly Not Recognize Tests in Test Folder Anymore
Regular Expression to Remove Everything But Characters and Numbers
Add Secure Flag to Jsessionid Cookie in Spring Automatically
Issue With Java 8 Collectors Type Mismatch: Cannot Convert from List<Object> to List<String>
Print Array Without Brackets and Commas
How to Read File from Relative Path in Java Project? Java.Io.File Cannot Find the Path Specified