OP doesn't know Serial.print() syntax.
ie:
float val = 1.23456789;
Serial.println(val,8);
"spuriously..."
Really ?
Whewww ! ( I have to Google that, LOL)
I get "bogus , false ,fake, etc.."
How does that apply to OP's rounding intentions ?
( or maybe "unintentions")
@OP,
float val = 1.2345678910;
void setup() {
Serial.begin(9600);
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(val,10);
delay(1000);
}

Let V = 12V
I = 2A
t = 1/3200 hours (1 second) = 0.000277
1 Watt/Second = V*I*t
= 12V *2A * 0.000277 Watt Hours (1/3200)
=
0.0075 Watt Hours For the sake of illustration, let's assume the solar cell output was EXACTLY the same for EVERY one of the 3200 samples taken in one hour,
then
All the samples taken every second ard multiplied by 3200 (normally they would ALL be different and would SUMMED up as described previously)
1 hours output = 3200* 0.0075 Watt Hours (one sample)
= 24 Watt Hours (12V *2A * 1 hour)
Using nested FOR LOOPS, (pseudo code)
For (i=0;i<24;i++) // 24 hours in a day
{
For (i=0;i<60;i++) // 60 minutes in an hour
{
For (i=0;i<60;i++) // 60 seconds in a minute
{
// put code here to measure voltage output =>"volts = xx.xxxxx;"
// put code here to measure current output =>"current = xx.xxxxx;"
// put code here to multiply volts*current*0.000277 Watt Hours
// put code here to save add result to previous result =>"float daily output =
XXX.XXXXX;"
}
}
}
Would that work ?