376 "ST-80 compatibility (thanks to a note from alpha testers) |
376 "ST-80 compatibility (thanks to a note from alpha testers) |
377 read and return the next Number in smalltalk syntax from the |
377 read and return the next Number in smalltalk syntax from the |
378 (character-) aStream. |
378 (character-) aStream. |
379 Returns nil if aStream contains no valid number." |
379 Returns nil if aStream contains no valid number." |
380 |
380 |
381 ^ [ |
381 ^ self readSmalltalkSyntaxFrom:aStream onError:nil. |
382 Scanner scanNumberFrom:aStream. |
|
383 ] on:Error do:[:ex| |
|
384 nil |
|
385 ]. |
|
386 |
382 |
387 " |
383 " |
388 Number readSmalltalkSyntaxFrom:'99d' |
384 Number readSmalltalkSyntaxFrom:'99d' |
389 Number readSmalltalkSyntaxFrom:'99.00d' |
385 Number readSmalltalkSyntaxFrom:'99.00d' |
390 Number readSmalltalkSyntaxFrom:'54.32e-01' |
386 Number readSmalltalkSyntaxFrom:'54.32e-01' |
391 Number readSmalltalkSyntaxFrom:'12345678901234567890' |
387 Number readSmalltalkSyntaxFrom:'12345678901234567890' |
392 Number readSmalltalkSyntaxFrom:'16rAAAAFFFFAAAAFFFF' |
388 Number readSmalltalkSyntaxFrom:'16rAAAAFFFFAAAAFFFF' |
|
389 Number readSmalltalkSyntaxFrom:'foobar' |
393 Number readSmalltalkSyntaxFrom:'(1/10)' |
390 Number readSmalltalkSyntaxFrom:'(1/10)' |
394 |
391 |
395 Number readSmalltalkSyntaxFrom:'(1/0)' |
392 Number readSmalltalkSyntaxFrom:'(1/0)' |
396 |
393 |
397 Number readFrom:'(1/3)' |
394 Number readFrom:'(1/3)' |
413 Number readSmalltalkSyntaxFrom:s. |
410 Number readSmalltalkSyntaxFrom:s. |
414 s next |
411 s next |
415 " |
412 " |
416 |
413 |
417 "Modified: / 19.11.1999 / 18:26:47 / cg" |
414 "Modified: / 19.11.1999 / 18:26:47 / cg" |
|
415 ! |
|
416 |
|
417 readSmalltalkSyntaxFrom:aStream onError:errorValue |
|
418 "ST-80 compatibility (thanks to a note from alpha testers) |
|
419 read and return the next Number in smalltalk syntax from the |
|
420 (character-) aStream. |
|
421 Returns nil if aStream contains no valid number." |
|
422 |
|
423 |n| |
|
424 |
|
425 [ |
|
426 n := Scanner scanNumberFrom:aStream. |
|
427 ] on:Error do:[:ex| |
|
428 n := nil |
|
429 ]. |
|
430 n isNil ifTrue:[^ errorValue value]. |
|
431 ^ n |
|
432 |
|
433 " |
|
434 Number readSmalltalkSyntaxFrom:'foo' onError:123 |
|
435 " |
418 ! ! |
436 ! ! |
419 |
|
420 |
437 |
421 !Number class methodsFor:'constants'! |
438 !Number class methodsFor:'constants'! |
422 |
439 |
423 decimalPointCharacter |
440 decimalPointCharacter |
424 "printed" |
441 "printed" |
647 errorString:'foo bar test' |
664 errorString:'foo bar test' |
648 " |
665 " |
649 |
666 |
650 "Modified: / 16.11.2001 / 14:13:16 / cg" |
667 "Modified: / 16.11.2001 / 14:13:16 / cg" |
651 ! ! |
668 ! ! |
652 |
|
653 |
669 |
654 !Number class methodsFor:'private'! |
670 !Number class methodsFor:'private'! |
655 |
671 |
656 readMantissaAndScaleFrom:aStream radix:radix |
672 readMantissaAndScaleFrom:aStream radix:radix |
657 "helper for readFrom: - |
673 "helper for readFrom: - |
2363 |
2377 |
2364 "Created: / 28.10.1998 / 17:14:56 / cg" |
2378 "Created: / 28.10.1998 / 17:14:56 / cg" |
2365 "Modified: / 5.11.2001 / 17:54:22 / cg" |
2379 "Modified: / 5.11.2001 / 17:54:22 / cg" |
2366 ! ! |
2380 ! ! |
2367 |
2381 |
2368 |
|
2369 !Number class methodsFor:'documentation'! |
2382 !Number class methodsFor:'documentation'! |
2370 |
2383 |
2371 version |
2384 version |
2372 ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.143 2013-08-01 12:44:55 cg Exp $' |
2385 ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.144 2013-10-08 13:29:00 cg Exp $' |
2373 ! |
2386 ! |
2374 |
2387 |
2375 version_CVS |
2388 version_CVS |
2376 ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.143 2013-08-01 12:44:55 cg Exp $' |
2389 ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.144 2013-10-08 13:29:00 cg Exp $' |
2377 ! ! |
2390 ! ! |
2378 |
2391 |