NEWS
[gelöst] Zeiten bzw. Zahlen auf bzw. abrunden.
-
Hallo. Ich bräuchte bitte wieder mal eure Hilfe.
Und zwar habe ich eine beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden (in diesem Fall auf 13:00 Uhr).Das zweite ist etwas ähnliches allerdings nicht mit einer Uhrzeit sondern mit einer Zahl. die auf die nächste Hunderter auf bzw. abgerundet werden soll.
z.B. soll 1345 auf 1300 abgerundet werden. oder 1472 auf 1500 aufgerundet.Wie kann ich diese beiden Sachen am einfachsten über Blocklys lösen?
-
Hallo. Ich bräuchte bitte wieder mal eure Hilfe.
Und zwar habe ich eine beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden (in diesem Fall auf 13:00 Uhr).Das zweite ist etwas ähnliches allerdings nicht mit einer Uhrzeit sondern mit einer Zahl. die auf die nächste Hunderter auf bzw. abgerundet werden soll.
z.B. soll 1345 auf 1300 abgerundet werden. oder 1472 auf 1500 aufgerundet.Wie kann ich diese beiden Sachen am einfachsten über Blocklys lösen?
@manfredhi sagte in Zeiten bzw. Zahlen auf bzw. abrunden.:
z.B. soll 1345 auf 1300 abgerundet werden. oder 1472 auf 1500 aufgerundet.
Math.round(val / 100) * 100
-
@manfredhi sagte in Zeiten bzw. Zahlen auf bzw. abrunden.:
Und zwar habe ich eine beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden (in diesem Fall auf 13:00 Uhr).
Vorschlag

<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="}hP8,vo1lYsah^NO+d]?">t</variable> <variable id="19ZUx*O~IH3i-oAW{A?7">arr</variable> <variable id="()qj);fR2`uhDS$5!V.u">std</variable> <variable id="uNKA[L*UcXhGl!BW#oi]">min</variable> </variables> <block type="procedures_defreturn" id="bC3Bo*,hALU=[p4F+Q#B" x="63" y="113"> <mutation> <arg name="t" varid="}hP8,vo1lYsah^NO+d]?"></arg> </mutation> <field name="NAME">rundeZeit</field> <comment pinned="false" h="80" w="160">Describe this function...</comment> <statement name="STACK"> <block type="variables_set" id="n}:l?DDe{=awxE)h$LSL"> <field name="VAR" id="19ZUx*O~IH3i-oAW{A?7">arr</field> <value name="VALUE"> <block type="lists_split" id="JiRrQ~hjHC5;f)Jlb%tA"> <mutation mode="SPLIT"></mutation> <field name="MODE">SPLIT</field> <value name="INPUT"> <block type="variables_get" id="vmdUMI}cm1*Q@t{E(Tm_"> <field name="VAR" id="}hP8,vo1lYsah^NO+d]?">t</field> </block> </value> <value name="DELIM"> <shadow type="text" id=")s!BpH/sulzVn4A*$c+x"> <field name="TEXT">:</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="4}(mh5Kh)/viP`ol.yBp"> <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field> <value name="VALUE"> <block type="convert_tonumber" id="2RRH``;80kiy@}oi(j//"> <value name="VALUE"> <block type="lists_getIndex" id="}3Bo^;+3`=r2/;P0(xL#"> <mutation statement="false" at="false"></mutation> <field name="MODE">GET</field> <field name="WHERE">FIRST</field> <value name="VALUE"> <block type="variables_get" id="!qy_,?RCK|MUq7k/w!B8"> <field name="VAR" id="19ZUx*O~IH3i-oAW{A?7">arr</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="U7$-zF~4C]P)uOVoylM$"> <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field> <value name="VALUE"> <block type="convert_tonumber" id="kW7a$aOHGDL;9GzUG~]`"> <value name="VALUE"> <block type="lists_getIndex" id="g8D%*JN]L`nFhW}VKkoe"> <mutation statement="false" at="false"></mutation> <field name="MODE">GET</field> <field name="WHERE">LAST</field> <value name="VALUE"> <block type="variables_get" id="xn`O6$bV)/rEf}/v!a+_"> <field name="VAR" id="19ZUx*O~IH3i-oAW{A?7">arr</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="S3D#MWi@gvhyl)JAPT!W"> <mutation elseif="1" else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="uY^$!x%*#xEG_[0ba!i="> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="Df8#dyVGco/i)ET1ulPw"> <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field> </block> </value> <value name="B"> <block type="math_number" id="6E{$zt`u_VfI:4FKj^PL"> <field name="NUM">15</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="9cZkI0)v^,R|(65SleLH"> <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field> <value name="VALUE"> <block type="math_number" id="Gzf9er%k$,00cjau52Pt"> <field name="NUM">0</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_between" id="iK[qVXp8H~yMrAWM:W[]"> <field name="MIN_OPERATOR">LE</field> <field name="MAX_OPERATOR">LT</field> <value name="MIN"> <block type="math_number" id=":OwN(Q?i-vm8x:crP`_5"> <field name="NUM">15</field> </block> </value> <value name="VALUE"> <shadow type="math_number" id="osk~GdV;_?9_$O[bMKFt"> <field name="NUM">42</field> </shadow> <block type="variables_get" id="b]sP^X}%OX8[`uoQ)DN#"> <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field> </block> </value> <value name="MAX"> <block type="math_number" id="H^:l$;XVhrl;-)b=;ypg"> <field name="NUM">45</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="=f3{?@3xL|5bM({!d1|?"> <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field> <value name="VALUE"> <block type="math_number" id="t0U}`Zt}x3A3zNy2tMNJ"> <field name="NUM">30</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="math_change" id="OwzDjjii4!jbx8R3K@uj"> <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field> <value name="DELTA"> <shadow type="math_number" id="-5FBhx@*%53`Gq^|da]5"> <field name="NUM">1</field> </shadow> </value> <next> <block type="variables_set" id=".AJ0oCvsL)n+(JO*p5I@"> <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field> <value name="VALUE"> <block type="math_number" id="us5J3$D=%+HaWK[YRkIR"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_if" id="CVW=df0H9tE5agdmURKO"> <value name="IF0"> <block type="logic_compare" id="y3HyiE797YkD8/tE0ECg"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="/.k15@cm1RhE4f:m)p|~"> <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field> </block> </value> <value name="B"> <block type="math_number" id="n|v@?)^U.o8a)zd~jv=R"> <field name="NUM">24</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id=",Q^J;.EISWT)d1Vgcn]c"> <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field> <value name="VALUE"> <block type="math_number" id="N[u%O]MG+_54-([jv!{f"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="RETURN"> <block type="text_join" id="e?(%0btnpngkps|*4?SM"> <mutation items="3"></mutation> <value name="ADD0"> <block type="logic_ternary" id="cnhN]ZsitmX68t++uCZq"> <value name="IF"> <block type="logic_compare" id="A=/v={n0i[QksFfhmP6y"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="{u/y#=!JTXP+ix^c{t!s"> <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field> </block> </value> <value name="B"> <block type="math_number" id="hZ^3v`+s.OM;tG=ieRAb"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="THEN"> <block type="text_join" id="7,$^N{%^w`l%4D#-;GN="> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="(?1OBd9-EOPh8O2b~|CD"> <field name="TEXT">0</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="}Rr5?EJZW;pQFgpIx%C4"> <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field> </block> </value> </block> </value> <value name="ELSE"> <block type="variables_get" id="+bJ|ERQMaTtb8IeWnNv2"> <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="^sS4$DCm^%jJY%.?^YUA"> <field name="TEXT">:</field> </block> </value> <value name="ADD2"> <block type="logic_ternary" id="_}yW;Bfb@*-Oa)LyHi*)"> <value name="IF"> <block type="logic_compare" id="xF(*h`iXv4aezvu:A{tL"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="pcUu-QouZ|6/?lY?#fic"> <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field> </block> </value> <value name="B"> <block type="math_number" id="1.x/eQ/A@^dttooO-{5P"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="THEN"> <block type="text_join" id="D25{EUXZ[kK`uSo4]@C8"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="JEDTE28z#^FBp_-B6zn!"> <field name="TEXT">0</field> </block> </value> <value name="ADD1"> <block type="variables_get" id=",2t~|7r]nAl{%%~2kr#["> <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field> </block> </value> </block> </value> <value name="ELSE"> <block type="variables_get" id="z2+]t^Z$}bVfY?Xsm#_V"> <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field> </block> </value> </block> </value> </block> </value> </block> <block type="debug" id="y^m+k:5;Gp`P;3Ef.(P8" x="63" y="838"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="cjv#Iyr4^S@r{+oTIsco"> <field name="TEXT">test</field> </shadow> <block type="procedures_callreturn" id="UP@^`|/EvMT|e)_ZZ;Q("> <mutation name="rundeZeit"> <arg name="t"></arg> </mutation> <value name="ARG0"> <block type="text" id="_sGVxD0$ihe0?H*J[Y|Q"> <field name="TEXT">13:40</field> </block> </value> </block> </value> <next> <block type="debug" id="~l,,r51i`vnUP+iuFp9s"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="cjv#Iyr4^S@r{+oTIsco"> <field name="TEXT">test</field> </shadow> <block type="procedures_callreturn" id="nLpT80!zd}M:wf0b}b!7"> <mutation name="rundeZeit"> <arg name="t"></arg> </mutation> <value name="ARG0"> <block type="text" id="b*VK6`jG!Sk}M:}g{]v)"> <field name="TEXT">15:45</field> </block> </value> </block> </value> </block> </next> </block> </xml>EDIT: Muss natürlich
>=24 sein... -
Hallo. Ich bräuchte bitte wieder mal eure Hilfe.
Und zwar habe ich eine beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden (in diesem Fall auf 13:00 Uhr).Das zweite ist etwas ähnliches allerdings nicht mit einer Uhrzeit sondern mit einer Zahl. die auf die nächste Hunderter auf bzw. abgerundet werden soll.
z.B. soll 1345 auf 1300 abgerundet werden. oder 1472 auf 1500 aufgerundet.Wie kann ich diese beiden Sachen am einfachsten über Blocklys lösen?
@manfredhi sagte: beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden
Eine Version:

-
@manfredhi sagte: beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden
Eine Version:

@paul53 sagte in Zeiten bzw. Zahlen auf bzw. abrunden.:
Eine Version:
Tricky! Ist auf jeden Fall die schönere Lösung. Hab mich kurz gefragt warum das klappt :) Deswegen:
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#getDateObject
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden