round

  • Författare
  • Meddelande

pile16

javascriptare

  • Inlägg: 35
  • Blev medlem: 18 jan 2016, 10:26

round

Inlägg07 feb 2016, 17:15

Exercise 1.4

Divide 'numOne' with 'numTwo' and use the function round() to round the answer to 1 decimal.

Fick svar:

1.4 FAIL.
You said:
1 (double)

Varför blev det så?
Online
Användarvisningsbild

thulin

troubleshooter

  • Inlägg: 499
  • Blev medlem: 30 dec 2015, 15:33
  • Ort: Skurup

Re: round

Inlägg07 feb 2016, 17:20

1 är inte ett svar med en decimal Om svaret på ekvationen är 1 så ska du för att få rätt, svara "1,0"
/Thulin

pile16

javascriptare

  • Inlägg: 35
  • Blev medlem: 18 jan 2016, 10:26

Re: round

Inlägg07 feb 2016, 17:53

thulin skrev:1 är inte ett svar med en decimal Om svaret på ekvationen är 1 så ska du för att få rätt, svara "1,0"


Har försökt hitta någon bra sida med mer förklaring om funktion round för att komma med en decimal på nätet.
Online
Användarvisningsbild

thulin

troubleshooter

  • Inlägg: 499
  • Blev medlem: 30 dec 2015, 15:33
  • Ort: Skurup

Re: round

Inlägg07 feb 2016, 17:54

/Thulin

pile16

javascriptare

  • Inlägg: 35
  • Blev medlem: 18 jan 2016, 10:26

Re: round

Inlägg07 feb 2016, 18:15

thulin skrev:1 är inte ett svar med en decimal Om svaret på ekvationen är 1 så ska du för att få rätt, svara "1,0"

Tyvärr begriper jag inte riktigt på hur man kan komma fram med en decimal om jag ska dela 415 / 425 och ska avrunda endast med 1 decimal.
Använder funktion round($sum,1)..... Antar att jag måste göra något mer där?
Online
Användarvisningsbild

thulin

troubleshooter

  • Inlägg: 499
  • Blev medlem: 30 dec 2015, 15:33
  • Ort: Skurup

Re: round

Inlägg07 feb 2016, 18:31

Ahh, nu har du nog råkat ut för motsvarande "bugg" som vi tog upp här:
viewtopic.php?f=4&t=5033

Jag testade med dina siffror:
Kod: Markera allt
echo $sum = 415 / 425;
echo "\n";
echo $ANSWER = round($sum,1);

och fick
0.97647058823529
1

men jag antar att i din "answer.json"-fil så ska svaret vara 1.0?
/Thulin

pile16

javascriptare

  • Inlägg: 35
  • Blev medlem: 18 jan 2016, 10:26

Re: round

Inlägg07 feb 2016, 18:33

thulin skrev:Ahh, nu har du nog råkat ut för motsvarande "bugg" som vi tog upp här:
viewtopic.php?f=4&t=5033

Jag testade med dina siffror:
Kod: Markera allt
echo $sum = 415 / 425;
echo "\n";
echo $ANSWER = round($sum,1);

och fick
0.97647058823529
1

men jag antar att i din "answer.json"-fil så ska svaret vara 1.0?


Helt riktigt! Svaret ska vara 1.0
Online
Användarvisningsbild

thulin

troubleshooter

  • Inlägg: 499
  • Blev medlem: 30 dec 2015, 15:33
  • Ort: Skurup

Re: round

Inlägg07 feb 2016, 18:55

Om inte jag är helt fel ute så skulle jag då säga att uppgiften inte går att lösa med endast round() (som ju uppgiften säger), då den trollar bort nollorna istället för att lägga till dem.
Jag funderade på om man kunde vara lite streetsmart (som ju mos hänvisar till i min länkade tråd) genom att använda följande två funktioner
http://php.net/manual/en/function.number-format.php
&
http://php.net/manual/en/function.floatval.php

men det funkar bara till hälften, strängen efter number_format blir mycket riktigt "1.0", men så fort jag kör floatval på den så får jag bara "1" igen...

Kod: Markera allt
echo $sum = 415 / 425;
echo $ANSWER = round($sum,1);
echo $test = number_format($ANSWER, 1);
echo floatval($test);

vilket ger:
Kod: Markera allt
0.97647058823529
1
1.0
1
/Thulin

pile16

javascriptare

  • Inlägg: 35
  • Blev medlem: 18 jan 2016, 10:26

Re: round

Inlägg07 feb 2016, 22:48

Till MOS,
Hur gör jag för at det ska bli godkänt enligt instruktion som vi fått av dig?
Går inte att använda round för att få upp 1,0.

Även de andra övningar får jag också bugg.
Användarvisningsbild

Allinrep

dbwebb

  • Inlägg: 1124
  • Blev medlem: 03 sep 2012, 09:19
  • Ort: Portugal (tillfälligt)

Re: round

Inlägg07 feb 2016, 22:54

Om du vill fortsätta jobba innan mos hinner svara kan du kanske prova det här. Kopiera filen answers.php och lägg den någon annanstans så att du behåller alla svar du har kodat hittills. Töm sedan lab-mappen helt och skriv kommandot dbwebb create lab1 igen (när du står på rätt plats). Se om du fick nya siffror i dina uppgifter. Kopiera tillbaka din kod (bit för bit) och justera alla siffror så att det matchar de nya detaljerna.
Online
Användarvisningsbild

thulin

troubleshooter

  • Inlägg: 499
  • Blev medlem: 30 dec 2015, 15:33
  • Ort: Skurup

Re: round

Inlägg07 feb 2016, 23:00

pile16 skrev:Även de andra övningar får jag också bugg.

Vilka andra övningar får du problem med?
/Thulin
Användarvisningsbild

Allinrep

dbwebb

  • Inlägg: 1124
  • Blev medlem: 03 sep 2012, 09:19
  • Ort: Portugal (tillfälligt)

Re: round

Inlägg07 feb 2016, 23:02

Om du inte får nya siffror kan du göra så gott du kan och förklara i redovisningen varför det finns fel i labben.

pile16

javascriptare

  • Inlägg: 35
  • Blev medlem: 18 jan 2016, 10:26

Re: round

Inlägg08 feb 2016, 10:45

thulin skrev:
pile16 skrev:Även de andra övningar får jag också bugg.

Vilka andra övningar får du problem med?


1.9

Får upp svar 65 som utskrift på sida men enligt json måste det finnas komma med dvs 65,
Resultat:
You said:
65 (double)
Online
Användarvisningsbild

thulin

troubleshooter

  • Inlägg: 499
  • Blev medlem: 30 dec 2015, 15:33
  • Ort: Skurup

Re: round

Inlägg08 feb 2016, 10:49

Det verkar konstigt då min uppgift 1.9 ber om svar i form av en integer...
Kommatecknet i slutet av varje "rad" i json-filen kan du bortse ifrån, den är till för att separera raderna från varandra. "7," är alltså "7"

Skriv ner uppgiften och hur du har löst den så tittar vi på det.

edit: om din uppgift är likadan som min, så är svaret rätt, men typen fel, dvs du svarar som en double, men det ska vara en int

edit2: detta har inget att göra med det tidigare felet, och verkar inte vara en bugg, utan bara ett "fel" från din sida.
/Thulin

pile16

javascriptare

  • Inlägg: 35
  • Blev medlem: 18 jan 2016, 10:26

Re: round

Inlägg08 feb 2016, 11:39

thulin skrev:Det verkar konstigt då min uppgift 1.9 ber om svar i form av en integer...
Kommatecknet i slutet av varje "rad" i json-filen kan du bortse ifrån, den är till för att separera raderna från varandra. "7," är alltså "7"

Skriv ner uppgiften och hur du har löst den så tittar vi på det.

edit: om din uppgift är likadan som min, så är svaret rätt, men typen fel, dvs du svarar som en double, men det ska vara en int

edit2: detta har inget att göra med det tidigare felet, och verkar inte vara en bugg, utan bara ett "fel" från din sida.


Här har jag skrivit så:
Kod: Markera allt
$sum = 0;

$modOne = 784;
$modTwo = 12;
echo $sum = floor($modOne/$modTwo);
echo $ANSWER =  $sum ;

Bilagor
1.9.PNG
1.9.PNG (2.83 KiB) Visad 6194 gånger
Användarvisningsbild

Allinrep

dbwebb

  • Inlägg: 1124
  • Blev medlem: 03 sep 2012, 09:19
  • Ort: Portugal (tillfälligt)

Re: round

Inlägg08 feb 2016, 11:42

Ja, felet i 1.9 är nog att din 65:a tolkas som ett flyttal (double) snarare än ett heltal (integer). Prova med någon av de här varianterna för att byta typ på svaret:
Kod: Markera allt
$ANSWER = (int) $sum;
$ANSWER = intval($sum);
Senast redigerad av Allinrep 08 feb 2016, 11:45, redigerad totalt 1 gång.
Online
Användarvisningsbild

thulin

troubleshooter

  • Inlägg: 499
  • Blev medlem: 30 dec 2015, 15:33
  • Ort: Skurup

Re: round

Inlägg08 feb 2016, 11:43

Om vi utgår ifrån att frågeställningen är samma hos dig som den är hos mig, dvs:
/**
* Exercise 1.9 *
* Answer with the integer value of 'modOne' divided by 'modTwo' by using the
* function floor(). *
* Write your code below and put the answer into the variable ANSWER.
*/


Då var mitt antagande rätt, du räknar ut uppgiften rätt, men missar detaljen att du ska svara "with the integer value"

Därför får du fel just nu, och du får även reda på varför, du svarar med en double
Resultat:
You said:
65 (double)


Den här funktionen hjälper dig: http://php.net/manual/en/function.intval.php
/Thulin

pile16

javascriptare

  • Inlägg: 35
  • Blev medlem: 18 jan 2016, 10:26

Re: round

Inlägg08 feb 2016, 11:52

Allinrep skrev:Ja, felet i 1.9 är nog att din 65:a tolkas som ett flyttal (double) snarare än ett heltal (integer). Prova med någon av de här varianterna för att byta typ på svaret:
Kod: Markera allt
$ANSWER = (int) $sum;
$ANSWER = intval($sum);


Löst även uppgift 1.4 med intval, även 1.9.
Tack så mycket!

Vilka är online

Användare som besöker denna kategori: Google [Bot] och 17 gäster