How to round decimal number to 5 places?

I am working on Coordinate system based on GPS and have got latlong points to 7digit place ..when i convert them to radian, they expand upto 9 place. My code requires only use upto 5 digits for the calculations. I tried using "round" commands but it says too many input arguments. Can anyone help me with this please.

回答 (2 件)

Star Strider
Star Strider 2015 年 3 月 23 日
編集済み: Star Strider 2015 年 3 月 23 日

1 投票

It is easy to create your own version in an anonymous function:
roundn = @(x,n) round(x.*10.^n)./10.^n;
pi_5 = roundn(pi,5)
produces:
pi_5 =
3.14159
If you know you always want to round the radian angle to 5 decimal places, change the function to:
round5 = @(x) round(x.*10.^5)./10.^5;
Shantanu Jana
Shantanu Jana 2015 年 3 月 23 日
編集済み: Shantanu Jana 2015 年 3 月 23 日

0 投票

you can do like this
>> a=1.12345678
a =
1.123456780000000
>> sprintf('%0.5f', a)
ans =
1.12346
>>

3 件のコメント

Star Strider
Star Strider 2015 年 3 月 23 日
The only problem with that approach is that the output is a string, not a double-precision number.
Shantanu Jana
Shantanu Jana 2015 年 3 月 23 日
X = str2double(ans) it can solve the problem
Michael Stumpf
Michael Stumpf 2020 年 5 月 1 日
I just tried using str2double(ans) , but it ends up displaying all the zeros at the end again

サインインしてコメントする。

カテゴリ

製品

質問済み:

2015 年 3 月 23 日

コメント済み:

2020 年 5 月 1 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by