Literally convert decimal to string

조회 수: 17 (최근 30일)
Ganesh Gebhard
Ganesh Gebhard 2021년 4월 24일
답변: Jan 2021년 4월 26일
Hey!
I hope I have a simple question, I just couldn't figure it out.
I have several numbers which I want to be converted to string quite literally:
12.000 -> '12.000'
4.0 -> '4.0'
34.760000 -> '34.760000'
As you can see, I cannot simply pad zeros, since that highly depends on how many zero are given with the number.
Does anyone know how to do this?
  댓글 수: 8
Ganesh Gebhard
Ganesh Gebhard 2021년 4월 26일
I solved it quickly by providing the number of zeros after the comma as a variable, so that for each number the user has to input the numbers of zeros as well. Maybe not the best way, but it did the trick for the iteration.
Scott MacKenzie
Scott MacKenzie 2021년 4월 26일
편집: Scott MacKenzie 2021년 4월 26일
Is the idea to replicate MATLAB's format for numbers appearing the command window? In this case, here's an idea that might help (but requires R2021a). Use fmt = format to get the current display format. fmt is a DisplayFormatOptions object. Query the DisplayFormatOptions object and respond accordingly:
format short
x = 5/4
fmt = format;
fmt.NumericFormat
% "short", therefore 4 digits after decimal point
format long
x
fmt = format;
fmt.NumericFormat
% "long", therefore 15 digits after decimal point
Output:
x =
1.2500
ans =
"short"
x =
1.250000000000000
ans =
"long"

댓글을 달려면 로그인하십시오.

채택된 답변

Jan
Jan 2021년 4월 26일
If the values are stored as floating point numbers in double or single format, they do not have trailing zeros. Trailing zeros after the decimal point are not defined mathematically, as well as leading zeros before the point.
So if you reall have a 12.000 anywhere, this is either a char vector or string, or this comes from choosing a specific output format:
x = 12
x = 12
format long
x
x =
12
format shortEng
x
x =
12.0000e+000
% Or explicitly:
fprintf('%d\n', x)
12
fprintf('%f\n', x)
12.000000
fprintf('%.3f\n', x)
12.000

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by