Lieber Besucher, herzlich willkommen bei: OS X Entwicklerforum. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.
|
|
Quellcode |
1 2 3 |
float switchOn0;
NSNumber *numberSwitchOn0 =[contentsExtraEuro objectAtIndex:0];
switchOn0=[numberSwitchOn0 floatValue];
|
|
|
Quellcode |
1 2 3 4 5 |
for (int i=0;i<10;i++) {
[inTakeTheSwitches addObject:[NSNull null]];
}
[inTakeTheSwitches replaceObjectAtIndex:0 withObject:numberSwitchOn0];
|
|
|
Quellcode |
1 |
NSLog(@"Array: %@", [inTakeTheSwitches objectAtIndex:0]); |
und noch besser vielleicht, da er nur 2 Werte enthalten soll mit alloc initWithCapacity |
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
NSNumber *temp;
NSNumber *spam;
float temp1;
float temp2=0;
//Array auslesen
for(int i = 0; i < 10; i++)
{
if ([[inTakeTheSwitches objectAtIndex:i]isEqual:NULL]) {
spam=[inTakeTheSwitches objectAtIndex:i];
}
else if ([inTakeTheSwitches objectAtIndex:i]!=NULL) {
temp=[inTakeTheSwitches objectAtIndex:i];
temp1=[temp floatValue];
temp2=temp1+temp2;
temp1=0;
}
}
|
Überlege mal, Du füllst das Array mit
[NSNull null]
und vergleichst dann aber mit
NULL
Ergibt das einen Sinn? Ersteres ist ein Objekt, NULL ist das nicht.
Michael
|
|
Quellcode |
1 2 3 4 |
//Wert in Array aufnehmen
for (int i=0;i<11;i++) {
[inTakeTheSwitches addObject:@"0"];
}
|
|
|
Quellcode |
1 2 3 |
NSNumber *numberSwitchOn0 =[contentsExtraEuro objectAtIndex:0]; [inTakeTheSwitches replaceObjectAtIndex:0 withObject:numberSwitchOn0]; |
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
NSNumber *temp;
float temp1;
float temp2=0;
//Array auslesen
for(int i = 0; i < 10; i++)
{
temp=[inTakeTheSwitches objectAtIndex:i];
temp1=[temp floatValue];
temp2=temp1+temp2;
temp1=0;
}
NSLog(@"Array: %@", [inTakeTheSwitches objectAtIndex:0]);
NSLog(@"ArrayGes: %1.2f", temp2);
NSString *switchInEuro= [NSString stringWithFormat:@"%1.2f",temp2];
NSString *switchInEuro1 = [switchInEuro stringByAppendingString:@" Euro"];
[outputZusatzEuro setText:switchInEuro1];
|
|
|
Quellcode |
1 |
NSString *switchInEuro = [NSString stringWithFormat:@"%1.2f Euro", temp2]; |
Mir ist zwar nicht klar, warum Du das Array erst mal mit Dummy Werten füllst, aber das lass ich jetzt einfach mal so stehen. Nur, wenn Du das schon tust und das Array später dann mit NSNumber Objekten versiehst, warum nimmst Du dann als Dummy Wert nicht auch ein NSNumber Objekt? Deine Schleife funktioniert ja nur, weil NSString auch die Nachricht floatValue versteht. Das kann bei einem anderen Anwendungsfall, wo Du eine andere Methode für die „richtigen“ Objekte verwendest dann in die Hose gehen. Im übrigen kannst Du Zeile 13 weglassen und die Zeilen 19 und 20 zusammenfassen zu:
![]()
Quellcode
1 NSString *switchInEuro = [NSString stringWithFormat:@"%1.2f Euro", temp2];
Michael
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
for (int i=0;i<rows;i++) {
Daten *aDaten = [appDelegate.datenWerte objectAtIndex:i];
NSString *datenAbgleichBasicService = [[NSString alloc]initWithString:aDaten.basic];
NSString *datenAbgleichBasicEuro = [[NSString alloc]initWithString:aDaten.basicEuro];
NSString *datenAbgleichExtraService = [[NSString alloc]initWithString:aDaten.extra];
NSString *datenAbgleichExtraEuro= [[NSString alloc]initWithString:aDaten.extraEuro];
//Innherhalb der Schleife das Array mit den Werten füllen aus den XLS Daten
[importContentsBasisServiceArray replaceObjectAtIndex:i withObject:datenAbgleichBasicService];
[importContentsBasisEuroArray replaceObjectAtIndex:i withObject:datenAbgleichBasicEuro];
[importExtraServiceArray replaceObjectAtIndex:i withObject:datenAbgleichExtraService];
[importExtraEuroArray replaceObjectAtIndex:i withObject:datenAbgleichExtraEuro];
}
|
Benutzerinformationen überspringen
Wohnort: Herdecke
Beruf: Selbständig
Hobbys: Gleitschirmfliegen, RC-Helikopter, Faustball
Benutzerinformationen überspringen
Wohnort: Herdecke
Beruf: Selbständig
Hobbys: Gleitschirmfliegen, RC-Helikopter, Faustball
|
|
Quellcode |
1 2 3 4 5 |
NSString *eurostr=[importContentsBasisEuroArray objectAtIndex:0]; float euro=[eurostr floatValue]; NSLog(@"Erg: %1.2f", euro);//kommt 0.00 raus NSLog(@"Erg: %@",[importContentsBasisEuroArray objectAtIndex:0]);//kommt 17.00 raus |
Benutzerinformationen überspringen
Wohnort: Herdecke
Beruf: Selbständig
Hobbys: Gleitschirmfliegen, RC-Helikopter, Faustball
|
|
Quellcode |
1 2 3 4 5 |
NSString *eurostr=[importContentsBasisEuroArray objectAtIndex:0]; float euro=[eurostr floatValue]; NSLog(@"Erg: %1.2f", euro);//kommt 0.00 raus (warum auch immer mit einem "." NSLog(@"Erg: %@",[importContentsBasisEuroArray objectAtIndex:0]);//kommt 17,00 raus |
Benutzerinformationen überspringen
Wohnort: Herdecke
Beruf: Selbständig
Hobbys: Gleitschirmfliegen, RC-Helikopter, Faustball
|
|
Quellcode |
1 2 |
NSString *eurostr=@"17,00"; float euro=[eurostr floatValue]; |
|
|
Quellcode |
1 2 3 4 5 6 7 |
NSString *eurostr=@"17,00"; float euro=[eurostr floatValue]; NSLog(@"Erg: %1.2f", euro);//kommt 17.00 raus NSLog(@"Erg: %@",[importContentsBasisEuroArray objectAtIndex:0]);//kommt 17,00 raus, aber obwohl die Zahl die gleiche "Breite" hat wie beim Float Ergebniss, rutscht sie bei der Konsolenanzeige in die nächste Zeile. //Erg: 17.00 //Erg: //17,00 |
Benutzerinformationen überspringen
Wohnort: Herdecke
Beruf: Selbständig
Hobbys: Gleitschirmfliegen, RC-Helikopter, Faustball
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 |
<?xml version="1.0" encoding="UTF-8"?> <DatenWerte> <Daten id="1"> <basic>Wöchentlich Kündbare</basic> <basicEuro>17,00</basicEuro> <extra>Saunale</extra> <extraEuro>1,79</extraEuro> </Daten> |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Jorgo« (4. Mai 2012, 11:29)