Formatting floating point values in Java -


i tried use this:

string t="4.99999999"; t = string.format("%.2f",float.valueof(t)); 

i wanted print 4.99, wrote 5.00. know why?

there 2 issues, here. 1 floats can't differentiate between 4.99999999 , 5.0, i.e. float.valueof() parses 5.0. doubles do have enough precision. other issue 5.0 correct behavior %2f. you're asking 2 decimal points, , 4.99999999 rounds 5.00. since string.format() behavior isn't want, want, i.e. why 4.99 correct behavior use case?

edit: if you're trying truncate 2 two decimal points, here: how can truncate double 2 decimal places in java


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -