Vra

Ek verander 'n Excel-bladformule na java, maar ek kan nie verstaan ​​hoe Excel dit regkry om die volgende te neem nie:0.22 pas 'n formule toe:= Teks (R5/14, "H: MM") en kom op een of ander manier by:0,22

Weereens as ek voorsien:2.8 Dit kom om 4.48 kan iemand my asseblief verduidelik hoe dit dit doen.Ek het 'n bietjie gelees oor desimale en ek verstaan ​​die omskakeling, maar dit het nog nie gehelp om bogenoemde te verduidelik nie.

Was dit nuttig?

Oplossing

Excel stoor datumtydwaardes as:

  • Die getal links van die desimale verteenwoordig die aantal dae sedert 1 Januarie 1900
  • Die getal regs van die desimale verteenwoordig die breukdeel van 'n 24-uur dag

In jou voorbeeld skakel jy 'n desimale om na 'n tekstuele voorstelling van die uur- en minuutgedeeltes van die datum-tydwaarde.

Werk deur jou eerste formule, 0,22 gedeel deur 14 (waarom doen jy dit?) is gelyk aan 0,015714286.As jy dan hierdie breuk teen 'n 24-uur dag toedien (vermenigvuldig met 1440 minute), is dit gelyk aan 22 minute en 'n mate van verandering (d.w.s."0:22").

Werk deur jou tweede formule, 2.8 gedeel deur 14 is gelyk aan 0.2.Vermenigvuldig met 1440, is dit gelyk aan 288 minute, wat 4 uur en 48 minute is (d.w.s."4:48").

Ander wenke

Of die Abacus Formule-samesteller vir Java, wat jou toelaat om die formules in Excel-blaaie saam te stel tot by Java-grepe-kode vir vinnige en maklike oproepe vanaf jou Java-toepassings (kan met looptyd saamstel sonder die JDK).

http://www.formulacompiler.org/

Ja, dit is 'n bietjie goofy.Haal die /14 uit en dit help.Basies 1=1 dag so R5 word uitgedruk in 14de van 'n dag.Jy kan waarskynlik doen

int msInADay= 86400000;
Time value = new Time(R5/14 * msInADay);

maar dit is ongetoets.

Dankie Creedence.

Dit werk met:dubbel r = 0.22;dubbele rytyd = (r / 14) * 1440;

'n Baie goeie dokumentasie van Spreadsheet-internals kan gevind word in die OpenFormula-spesifikasie (wat OpenOffice-Calc dokumenteer/definieer).

http://www.oasis-open.org/committees/documents.php?wg_abbrev=office-formula

As jy 'n Java-biblioteek soek om Excel-formules te evalueer, kan óf Apache-POI óf Pentaho se LibFormula nuttig wees:

PVB: http://poi.apache.org/

LibFormule: http://sourceforge.net/project/showfiles.php?group_id=51669&package_id=213669

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top