Konvertera stränginnehåll till negativa numeriska värden?

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2011-05-14 18:09

Hej,

Jag finner inte rätt kommando för att plocka negativa tal ur en sträng med flera tal och göra om dem till numeriska heltals-värden (integer eller number - vad är det förresten för skillnad på dessa två datatyper?).

Exempel - en sträng som jag väljer att kalla för variabelnamn 'numberString' ligger inom ett Finder-block och har följande innehåll: "18 -119 4 33"

Problemet är att om jag försöker med 'set int2 to word 2 of numberString as integer' så blir int2 = 119 istället för -119. Att använda 'item 2' hjälper heller inte.

[jag använder SnowLeopard]

  • Medlem
  • 2011-05-14 18:23

Word tar inte med skiljetecken, tror jag.
detta fungerar här:

set myString to "18 -119 4 33"
tell me to set text item delimiters to " "
set myValue to text item 2 of N as number
tell me to set text item delimiters to ""
  • Medlem
  • Stockholm
  • 2011-05-14 18:52

Tack, det fungerar ju utmärkt.

Jag kan f ö inte påstå att jag förstår varför det fungerar, men det räcker ju förstås med att det fungerar...

  • Medlem
  • 2011-05-14 19:54

Word 2 är just ord nummer två, som i ditt fall är 119.
Med text item delimiters bestämmer du vilken separator som ska skilja dina text items. Mellanslag verkar vara rätt i det här fallet.
Kom ihåg att återsställa text item delimiters efteråt.

1
Bevaka tråden