Français
Source/ Codesnippets

Dezimalgrad pour +/-Deg°Min'Sec<n Nachkommastellen> et zurück wandeln

 

p.specht

Dezimalgrad pour +/-Deg°Min'Sec<n Nachkommastellen> et zurück wandeln
(encore pas erschöpfend getestet, pour mon Zwecke reichte es!)
Windowtitle "Dezimalgrad pour +/-DDD°MM'SS.SSSS"
'EARLY ALPHA, VORSICHT! (D) Demo 2018-04 P.Specht, vienne
Windowstyle 24:cls:set("decimals",15):font 2

Proc DMSc2Deg :parameters d&,m&,s!

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

ENDPROC

DEF Sgn(1) (@!(1)>0)-(@!(1)<0)
DEF Sg$(1) si(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°

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

endproc'... 4 Kommastellen chez Sc° = Erdumfang sur 3.1 mm oui c'est ca

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:Imprimer "\n\n merci pour Testen!":sound 30,50:waitinput 2500
imprimer
imprimer
'Experiment: String avec Deg°Min'Sec décomposer et pour Dezimalgrad zurückkonvertieren
declare y!,DMSc$,v1&,v2&,v3&, w$
lup:
Font 2:imprimer " Dezimalgrad: ";:input w$

si w$>»:x!=val(w$): d'autre : x!=y!:endif

    locate %csrlin-1,40
    DMSc$ = Dg$(x!)+Mn$(x!)+Sc$(x!,4)
    imprimer DMSc$
    v1&=InStr("°",DMSc$)
    v2&=InStr("'",DMSc$)
    v3&=InStr(chr$(34),DMSc$):cas v3&=0:v3&=len(DMSc$)
    imprimer " ";left$(DMSc$,v1&-1);"°";mid$(DMSc$,v1&+1,v2&-v1&-1);"'";mid$(DMSc$,v2&+1,v3&-v2&)
    font 0
    'Imprimer 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&)))
    Imprimer 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


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.344 Views

Untitledvor 0 min.
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
Manfred Barei19.11.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie