Español
Fuente/ Codesnippets

Dezimalgrad después de +/-Deg°Min'Sec<n Nachkommastellen> y zurück wandeln

 

p.specht

Dezimalgrad después de +/-Deg°Min'Sec<n Nachkommastellen> y zurück wandeln
(Noch no erschöpfend getestet, para mi Zwecke reichte lo!)
Windowtitle "Dezimalgrad después de +/-DDD°MM'SS.SSSS"
'EARLY ALPHA, VORSICHT! (D) Demo 2018-04 P.Pájaro carpintero, Wien
Windowstyle 24:cls:set("decimals",15):font 2

Proc DMSc2Deg :parámetros d&,m&,s!

    var sgn&=1-2*(d&<0):d&=abs(d&)
    volver sgn&*(d&+m&/60+s!/3600)

ENDPROC

DEF Sgn(1) (@!(1)>0)-(@!(1)<0)
DEF Sg$(1) if(Sgn(@!(1))<0,"-","+")
def Dg°(1) int(int(abs(@!(1))) mod 360)
def Mn°(1) int(abs(int((@!(1)-Dg°(@!(1)))*60)) mod 60)
def Sc°(1) abs(((@!(1)-int(@!(1)))*60)-int((@!(1)-int(@!(1)))*60))*60
DEF Dg$(1) right$("   "+Sg$(@!(1))+str$( Dg°(@!(1)) ),4)+"°"
DEF Mn$(1) right$("00"+str$(Mn°(@!(1))),2)+"'"
DEF Sc$(2) format$("00."+mkstr$("0",@&(2)),Sc°(x!))'str$(Sc°(@!(1)))

proc Test°

    imprimir if(x!>=0," ","");x!,tab(29);
    imprimir Dg$(x!)+Mn$(x!)+Sc$(x!,4)'<<< 2.Param.: Nachkommastellen,

ENDPROC'... 4 Kommastellen en Sc° = Erdumfang en 3.1 mm genau

var \
x!= 1.234567890 : Test°
x!=-1.234567890 : Test°
x!= 1.57 : Test°
x!=-1.57 : Test°
x!= 0.571 : Test°
x!=-0.571 : Test°
x!= 362.57 : Test°
x!=-362.57 : Test°
waitinput 5000:Imprimir "\n\n Gracias fürs Testen!":sound 30,50:waitinput 2500
imprimir
imprimir
'Experiment: String con Deg°Min'Sec zerlegen y después de Dezimalgrad zurückkonvertieren
declarar y!,DMSc$,v1&,v2&,v3&, w$
lup:
Font 2:imprimir " Dezimalgrad: ";:input w$

if w$>"":x!=val(w$): más : x!=y!:endif

    locate %csrlin-1,40
    DMSc$ = Dg$(x!)+Mn$(x!)+Sc$(x!,4)
    imprimir DMSc$
    v1&=InStr("°",DMSc$)
    v2&=InStr("'",DMSc$)
    v3&=InStr(chr$(34),DMSc$):caso v3&=0:v3&=len(DMSc$)
    imprimir " ";left$(DMSc$,v1&-1);"°";mid$(DMSc$,v1&+1,v2&-v1&-1);"'";mid$(DMSc$,v2&+1,v3&-v2&)
    font 0
    'Imprimir val(left$(DMSc$,v1&-1)),\
    '      val(mid$(DMSc$,v1&+1,v2&-v1&-1)),\
    '      val(mid$(DMSc$,v2&+1,v3&-v2&))
    Y! = DMSc2Deg(val(left$(DMSc$,v1&-1)),\
    val(mid$(DMSc$,v1&+1,v2&-v1&-1)),\
    val(mid$(DMSc$,v2&+1,v3&-v2&)))
    Imprimir tab(25);y!," Err:",format$("%g",x!-y!)
    goto "lup"
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
27.05.2021  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.334 Views

Untitledvor 0 min.
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
Manfred Barei19.11.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie