1234.5 instead of 1.2345e+03
7 次查看(过去 30 天)
显示 更早的评论
When I read a variable from Excel with value say, 1234.5, Matlab reads in as 1.2345e+03. Instead I want the original format to be preserved (ie., it should stay as it is say, 1234.5 in this example). I have tried "format short g" etc, but these deal with number of digits after the decimal. How can I set the correct format? Thanks, Ganesh
1 个评论
Jan
2012-7-7
Internally 1234.5 and 1.2345e+03 are the same numbers. The different notation concerns only the output to the command windows. Therefore it is necessary that you post more relevant details of your problem.
回答(3 个)
the cyclist
2012-7-6
编辑:the cyclist
2012-7-6
It depends on the context of where you want this number displayed, but here is one way to show this number the way you want:
x = 1234.5;
sprintf('%5.1f',x)
0 个评论
Ganesh
2012-7-6
2 个评论
the cyclist
2012-7-6
In MATLAB-speak, the "format" generally refers to how the variables are displayed, not to how they are stored internally, or used for computation.
Can you confirm that your variable xdata and ydata are being imported as numeric arrays, and not as text? That could be the problem. Are you able to post a small snippet of self-contained code that exhibits the problem?
Ganesh
2012-7-6
1 个评论
Walter Roberson
2012-7-6
What evidence do you see that the fitcurvedemo call is not working?
Does the issue only affect the xdata, or only affect the ydata ? For example if you were to divide the ydata by 10 so that it remained less than 1000, does that work?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Other Formats 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!