• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Changing floating number precision in SKILL

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 126
  • Views 16369
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Changing floating number precision in SKILL

sprinter
sprinter over 15 years ago

How can I change the precision of a floating number. For example I'm trying to convert 23.3455 to 23.34 & this's what I'm doing:

 x=23.3255

y=printf("%5.2f" x)

'y' is now a symbol. HOw can this be converted to a floating number?

 

Thanks,

Adil

  • Cancel
  • kbhow
    kbhow over 15 years ago

    Hi Adil,

    In order to get the value of a string, you can use function evalstring.

    Eg: x = 23.3255

          sprintf(y "%5.2f" x)  ; this will return y="23.33"

          evalstring(y) ; evaluate string value, you will get your answer here

     Happy testing

    How

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 15 years ago

    Hi Adil

    How about this? : )

    y=evalstring(sprintf(nil "%5.2f" x))

    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago
    Personally I never like using evalstring for things like this.

    I'd probably do:

    y=round(x*100)/100.0

    If you really want to use the sprintf approach, you could use atof() instead of evalstring.

    Regards,

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sprinter
    sprinter over 15 years ago

    Thanks everybody!

    Regards,

    Adil.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information