dato - convertir int a string java
Postscript: cómo convertir un entero en una cadena? (2)
Pruebe 3.14159 20 string cvs show
.
string
necesita un tamaño y deja la cadena creada en la pila. cvs
necesita un valor y una cadena para almacenar el valor convertido.
Si realiza muchas conversiones de cadenas, puede ser más eficaz crear una cadena y volver a utilizarla en cada conversión:
/s 20 string def
3.14159 s cvs show
En postscript, se dice que el operador cvs * convierte un número en una cadena. ¿Cómo debería usarlo? Lo intenté :
100 100 moveto
3.14159 cvs show
o
100 100 moveto
3.14159 cvs string show
pero no funcionó.
Alguna ayuda ?
Una expresión común es usar una cadena literal como plantilla.
1.42857 ( ) cvs show
Incluso puede hacer una salida formateada presentando cvs con varias subcadenas de una cadena más grande.
%0123456.......
(2/7 = ) dup 6 7 getinterval
2.85714 exch cvs pop show
Pero la Guía de estilo de Ghostscript lo prohíbe. Y es prácticamente la única guía de estilo Postscript publicada que tenemos. ( Una discusión sobre esto en comp.lang.postscript.) Por lo tanto, una recomendación común es asignar una nueva cadena cuando la necesite y dejar que el recolector de basura se gane.
4.28571 7 string cvs show
Como último recurso, el pirata informático realmente perezoso secuestrará =string
, el búfer de 128 bytes incorporado utilizado por =
y ==
para dar salida a números (utilizando, por supuesto, nuestros cvs
amigos).
5.71428 =string cvs show
Y si te gusta ese, puedes combinarlo con el otro truco: nombres evaluados inmediatamente.
{ 7.14285 //=string cvs show } % embed =string in this procedure
Esto reduce ese microsegundo extra y hace que sea mucho más difícil inspeccionar interactivamente el código. Llamar ==
a este procedimiento no revelará el hecho de que está usando =string
; se ve como cualquier otra cadena.
Un truco más para la bolsa, de una publicación de Helge Blischke en comp.lang.postscript . Esta es una forma simple de obtener un entero cero rellenado.
/bindec % <integer> bindec <string_of_length_6>
{
1000000 add 7 string cvs 1 6 getinterval
}bind def