str2double/str2num
조회 수: 2 (최근 30일)
이전 댓글 표시
day='0001'; str2double(day) would give me 1 as answer, how do I get 0001 exact four number of digits for instance?
댓글 수: 0
채택된 답변
James Tursa
2018년 5월 10일
편집: James Tursa
2018년 5월 10일
Floating point variables do not have leading 0's physically stored in memory (not counting the denormalized numbers of course). So 0001 and 1 are stored exactly the same in memory. If you want to display the leading 0's then you need to use a format that specifies that on print out. E.g.,
>> day = '0001'
day =
0001
>> d = str2double(day)
d =
1
>> fprintf('%04d\n',d)
0001
댓글 수: 2
Walter Roberson
2018년 5월 10일
day = '0001';
nd = length(day);
d = str2double(day);
fprintf('%0*d\n', nd, d);
... which leads one to wonder why you do not just print out day instead of the converted value.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!