• 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 SKILL
  3. regarding float to string conversion

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 18605
  • 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

regarding float to string conversion

fazul
fazul over 14 years ago

Hi everybody

i am very new to SKILL programming, so this might be a very simple question ... Actually i want to do

Float to String converstion . I am working on IC5.1 framework.

upon searching i found this method

strVar  = 1.23e4

ftVar = sprintf( nil "%.2e" strVar)

is there any other neater way of doing ? the problem i found with the above method is that even smaller float values say 23.4 will be

forcibly converted to scientific notation "2.34e+01" .. which looks pretty ugly(aestically)  on my ReportField.

background :

It seems like ReportField in IC51 doesnt support scientific notation for float values.. So i am stuck on doing the Float2String conversion

before displaying it in the ReportField...

hope i made my problem clear. Please advice me if there is a better way of doing this.

thanks in advance,

Have a great day

Fazul 

 

 

 

  • Cancel
  • skillUser
    skillUser over 14 years ago

     Hi Fazul,

    You could try the "%g" format which chooses the most efficient way to display the number, which is usually aesthetically pleasing.  Also you can specify the number of digits after a decimal point, so if you said "%5.2f" for the format specifier you would get "23.40" when the input was 23.4

     By the way, if you are assigning the result of "sprintf" to a variable, you can just say:

     sprintf( ftVar "%.2e" strVar) 

    Instead of:

     ftVar = sprintf( nil "%.2e" strVar) 

    I hope that the above answers your question.

    regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • oldmouldy
    oldmouldy over 14 years ago

    Refer to some documentation on the common printf function, an internet search for printf or a C / C++ reference manual would get you there. The format string is what controls the format, the number is being correctly formatted according to the format string that you have specified, there are "pretty much" "boundless" possibilities for the format string. Experiment with the format option to get your desired results.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    You could also use the functions aelEngNotation(), aelSuffixNotation() or aelScientificNotation() - depending on what you want.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • fazul
    fazul over 14 years ago

    thanks guys :)

    that was very helpful .

    have a nice day

    Fazul

    • 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