私はどこでも精査しましたが、私のような状況は見つかりませんでした。分数に良いものを見つけたので、正しく計算してもらいました。ただし、小数は別の話です。これで表示できます:
-(IBAction) pressDecimal
{
NSRange range = [display.text rangeOfString:@"."];
if ( range.location == NSNotFound ) {
display.text = [display.text stringByAppendingString:@"."];
}
またはこれ:
-(IBAction) pressDecimal
{
[displayString appendString: @"."];
display.text = displayString;
}
後者は、計算機で表示するのに最適です。スロット、ダブルとして読み込もうとしましたが、正しく読み込めないようです...数字を取得する方法は次のとおりです。
- (void) workNums: (int) nums
{
currentNumber = currentNumber * 10 + nums;
[displayString appendString:
[NSString stringWithFormat: @"%i", nums]];
display.text = displayString;
}
//uses tags from attribute inspector (decimal tagged 10)
-(IBAction)pressNum:(UIButton *)sendIT
{
int nums = sendIT.tag;
[self workNums: nums];
}
私はどこでも見て、floatからdoubleに変更しようとしました(私がそれらを使って遊ぶと0.00を表示することができます)また、FRACTIONであるANSWERをDECIMALに変換する方法もここにあります..
- (double) convertToNum
{
if (denominator != 0)
return (double) numerator / denominator;
else
return NAN;
繰り返しますが、明確に述べます...どうすればObjective Cにアプリに入力された小数を表示させ、答えを適切に小数として表示させることができますか. BASIC から Objective C に移行した初心者からの感謝
EDIT 4/27/12 * ** (Stack の新機能 - ただし、以下のコメントをお読みください。プログラムに 10 進数を読み込めない理由を探しています... int から変更しようとしました (これは私は動作しないことを知っています) と double と float ですが、これをすべて double として実行すると、ユーザー入力で 0.00 しか得られません:
-(IBAction)pressNum:(UIButton *)sendIT
{
int nums = sendIT.tag;
[self workNums: nums];
}
- (void) workNums: (int) nums
{
currentNumber = currentNumber * 10 + nums;
[displayString appendString:
[NSString stringWithFormat: @"%i", nums]];
display.text = displayString;
}
したがって、目標は、ユーザーが入力した10進数を計算できるようにすることです...これらの数値がアキュムレータ/およびcurrentNumberの2倍に蓄積され、後で分子/分母に変換されるため、if/elseの状況に関する提案..(これはおそらく私の問題ですが、難しいことではないはずですが、BOOLなどを使用して何かを言うのを難しくしています..これは分数ではなく、小数です-そうしましょうこれをしてください - 助けてください!! GOING NUTS!