INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

float or integer: help with a script

float or integer: help with a script

(OP)
hi all, i have wrote a simple script that take a number and return
either it is an integer or a float. However, if i make a mistake and
type a char or a string, it goes in crash and esc to prompt command.
My question is simple: how can i to resolve this behaviour? Below it is
my code:

CODE

#############################################################################################
# This script ask for a number then tell you either integer or float and
print its exp form #
#############################################################################################
#
proc main {} {
    # ask for a number
    puts -nonewline "Insert a number: ";
    flush stdout;
    gets stdin number;
    # check for integer
    if {int($number)==$number} {
        puts "the number [expr int([format %f $number])] is integer";
    } else {
        puts "the number [format %f $number] is float";
    }
    # print exp form
    puts "its exponential form is [format %e $number]";
}
# call main
main;
Thanks!
 

RE: float or integer: help with a script

Hi

Similar problem was discussed recently in thread287-1681203: check is a variable value is alphabet or numeric. Please read that too.

CODE --> Tcl

proc main {} {
    # ask for a number
    puts -nonewline "Insert a number: "
    flush stdout
    gets stdin number
    if {![string is double $number]} {
        puts "ERROR : $number is not a numeric value"
        return
    }
    # check for integer
    if {int($number)==$number} {
        puts "the number [expr int([format %f $number])] is integer"
    } else {
        puts "the number [format %f $number] is float"
    }
    # print exp form
    puts "its exponential form is [format %e $number]"
}

Feherke.
http://feherke.github.com/

RE: float or integer: help with a script

(OP)
Ok, thanks!

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close