2017-06-01 12 views
0

我從文本中讀取了一些逗號分隔的值。如何在逗號(matlab)後得到6位數字?

  • -8.618643,41.141412
  • -8.639847,41.159826
  • ...

我寫劇本以下;

get_in = zeros(lendata,2); 
nums = str2num(line); % auto comma seperation.(two points) 
for x=1:2 
get_in(i,x)=nums(x); 
end 

它自動舍入數字。例如;

(第一行轉換爲 「-8.6186,41.1414」)

我怎麼能忽略一輪操作?

我想在逗號後得到6位數字。

我用逗號分隔符分隔線後嘗試「str2double」。

我試圖導入數據的工具

但它總是四捨五入到4位了。

+2

只捨棄_displayed_值。實際變量具有更好的精度(約15位有效數字)。使用'format long'來檢查 –

+0

閱讀[這裏](https://stackoverflow.com/a/42483474/5211833)或[這裏](https://stackoverflow.com/a/32524236/5211833)。 – Adriaan

回答

2

正如其中一個答覆已經說過的,這些值實際上並不是四捨五入的,只是顯示的值(爲了便於閱讀)。正如所建議的那樣,如果您只是在應該幫助的命令窗口中輸入'format long'。

以下鏈接可能幫助雖然某些小數顯示單個值:https://uk.mathworks.com/matlabcentral/newsreader/view_thread/118222

它建議使用sprintf功能。例如sprintf(%4.6,data)將顯示「數據」的值爲6個小數位。

+0

'格式長g'也可以很好地工作 –

相關問題