cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - You can subscribe to a forum, label or individual post and receive email notifications when someone posts a new topic or reply. Learn more! X

Convert real number in string

mbonka
16-Pearl

Convert real number in string

Greatings whole community,

 

 have a simply question: How to convert real number to string, including decimal places? String value CAN NOT be rounded.

Example:

d150 = 1.5 (it is real number dimmension)

string_value=1.5

 

Have found some topics about this, but no simply solution.

l´m trying to use exctract and itos function, but my design strat to be complicated.

Maybe in creo 5.0 has been added some better function or someone was god-lighted up and got an idea for Nobel price Smiley Happy

 

Thanks in any advice...

Regards

@mbonka

 

 

ACCEPTED SOLUTION

Accepted Solutions
Chris3
21-Topaz I
(To:mbonka)

Relations functions haven't been changed since they were introduced. In my past conversations with PTC their position as been that while complicated you can do nearly everything with the existing relation functions. There are numerous ideas to add additional functions to make things easier but none have been implemented.

 

If you haven't stumbled on it already you might want to try @TomU's method here:

https://community.ptc.com/t5/Simulation/Converting-Real-Numbers-to-Strings/m-p/189624

 

He links to some official PTC examples as well.

View solution in original post

5 REPLIES 5
Chris3
21-Topaz I
(To:mbonka)

Relations functions haven't been changed since they were introduced. In my past conversations with PTC their position as been that while complicated you can do nearly everything with the existing relation functions. There are numerous ideas to add additional functions to make things easier but none have been implemented.

 

If you haven't stumbled on it already you might want to try @TomU's method here:

https://community.ptc.com/t5/Simulation/Converting-Real-Numbers-to-Strings/m-p/189624

 

He links to some official PTC examples as well.

mbonka
16-Pearl
(To:Chris3)

Hi @Chris3 and @KenFarley

 

 thanks for links, l will study it later.

 

Wish you both happy day and many thanks to you...

KenFarley
21-Topaz I
(To:mbonka)

Despite years and years of needing it, a simple "real to string" function has never been added to Pro/E or subsequently, Creo. A bit of programming that has been handled for decades (I even remember doing so in assembly language back in the olden times) is not available.

Anyway, here's my bit of code to approach this.

/*
/* Convert a real number into a string.
/* numReal  = the number to convert
/* strResult  = the resulting string
/* numDigits = integer for how many digits after the decimal you want.
/*

strResult = ITOS ( floor ( abs ( numReal ) ) ) + "."
IF abs( numReal ) < 1.0
  strResult = "0."
ENDIF
strResult = strResult + EXTRACT ( ITOS ( floor ( 10^numDigits * ( 1 + abs ( numReal ) - floor ( abs ( numReal ))))),2,numDigits )
IF numReal < 0.0
  strResult = "-" + strResult
ENDIF

There are lots of other approaches to this problem. Without a built-in function to do the conversion, you end up with a large amount of relation code if you need to do this for a lot of numbers.

Note that the "rounding avoidance" is done by the "floor" applied to the shifted number before the ITOS function call within the EXTRACT function call. It truncates all the digits after the decimal.

Hi @KenFarley

 

 in result l´m using your solution.

Following row is pure logical and mathematical beauty:

strResult = strResult + EXTRACT ( ITOS ( floor ( 10^numDigits * ( 1 + abs ( numReal ) - floor ( abs ( numReal ))))),2,numDigits )

 Thanks to pople like you Smiley Very Happy

Have nice day

Regards

@mbonka

Hello,

I've requested this option back in 2012, still waiting. You can vote on this and maybe someday we'll see a simple solution from PTC:

 

https://community.ptc.com/t5/Creo-Parametric-Ideas/Real-to-String-in-Relations/idi-p/465330

 

 

Announcements
NEW Creo+ Topics: Real-time Collaboration


Top Tags