convert number to string

조회 수: 3 (최근 30일)
Khaled Awda
Khaled Awda 2021년 12월 12일
댓글: Walter Roberson 2021년 12월 12일
function Sex= Choose_Sex
disp('Choose Sex or Gender to preview Health Data on')
Sex = menu('Choose sex','Female','Male');
if Sex == 1
disp('Female')
elseif Sex == 2
disp('Male')
end
while Sex == 0
disp('Error Choose sex,');
Sex = menu('Choose sex','Female','Male');
end
How can i let the answer of Sex show as string female or male instead of double 1 or 2

답변 (3개)

Walter Roberson
Walter Roberson 2021년 12월 12일
while true
choice = menu(etc)
if choice == 1
Sex = "Female";
break;
elseif choice == 2
Sex = "Male";
break
end
fprintf('What??\n');
end
  댓글 수: 2
Khaled Awda
Khaled Awda 2021년 12월 12일
still show sex as a box in a fprintf statement
Walter Roberson
Walter Roberson 2021년 12월 12일
No it does not. The only fprintf() statement there is for the case that neither male nor female is chosen, and in that case it displays a hard-coded string with no box.
You might perhaps have a different fprintf() statement that you have not shown us.

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


Voss
Voss 2021년 12월 12일
편집: Voss 2021년 12월 12일
You can use a cell array of character vectors (formerly known as a cell array of strings) to store the options.
function Sex= Choose_Sex
disp('Choose Sex or Gender to preview Health Data on')
Sexes = {'Female' 'Male'}; % 'Sexes' is a cell array of character vectors
Sex = menu('Choose sex',Sexes{:});
if Sex > 0
disp(Sexes{Sex});
end
while Sex == 0
disp('Error Choose sex,');
Sex = menu('Choose sex',Sexes{:});
% Edit: I guess you want to display the sex here too
if Sex > 0
disp(Sexes{Sex});
end
end
  댓글 수: 2
Khaled Awda
Khaled Awda 2021년 12월 12일
still shows as number in fprintf statement
Voss
Voss 2021년 12월 12일
Return the character vector from the Choose_Sex function rather than the index Sex:
function Sex= Choose_Sex
disp('Choose Sex or Gender to preview Health Data on')
Sexes = {'Female' 'Male'}; % 'Sexes' is a cell array of character vectors
Sex = menu('Choose sex',Sexes{:});
if Sex > 0
disp(Sexes{Sex});
end
while Sex == 0
disp('Error Choose sex,');
Sex = menu('Choose sex',Sexes{:});
% Edit: I guess you want to display the sex here too
if Sex > 0
disp(Sexes{Sex});
end
end
Sex = Sexes{Sex}; % return the character vector, not the index
Then, when calling the function and printing the result, use the %s format specifier for strings/character vectors:
selected_sex = Choose_Sex();
fprintf('Selected Sex is %s',selected_sex);

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


Image Analyst
Image Analyst 2021년 12월 12일
Try this:
function Sex= Choose_Sex
disp('Choose Sex or Gender to preview Health Data on')
selectedButton = menu('Choose sex','Female','Male');
Sex = 'Male'; % Initialize.
if selectedButton == 1
disp('Female')
Sex = 'Female';
elseif Sex == 2
disp('Male')
end
  댓글 수: 4
Khaled Awda
Khaled Awda 2021년 12월 12일
doesnt run
Image Analyst
Image Analyst 2021년 12월 12일
It DOES run. I just tried it again. It's now attached. If it doesn't run for you, then attach your code.

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

카테고리

Help CenterFile Exchange에서 Stepwise Regression에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by