SDFat: streams that support specified floating-point precision?

I’d like to do something like
cout << _FLOAT(seconds,3)

to get a floating-point variable output with 3 digits of precision, for example “3.768”. I can do this with the Streaming4 library from Streaming | Arduiniana

but _FLOAT() does not seem to be recognized by the SDFAT library version of streams, at least the version I’m using (with Arduino-0022 IDE). Is this something that would be simple to implement?

You can use setprecision http://www.cplusplus.com/reference/iostream/manipulators/setprecision/.

I have implemented a number of other manipulators, but not the scientific notation manipulator.
http://www.cplusplus.com/reference/iostream/manipulators/

Here is a sample sketch and its output:

#include <SdFat.h>

ArduinoOutStream cout(Serial);

const float   d1 = 1.2345678;
const float   d2 = 12.345678;
const float   d3 = 123.45678;
const float   d4 = 1234.5678;
const float   d5 = 12345.678;

void DisplayFloat( ) {
  cout << endl << "default display" << endl;
  cout << "d1 = " << d1 << endl;
  cout << "d2 = " << d2 << endl;
  cout << "d3 = " << d3 << endl;
  cout << "d4 = " << d4 << endl;
  cout << "d5 = " << d5 << endl;
}

void setup() {
  Serial.begin(9600);
  
  DisplayFloat( );

  cout << endl << "setprecision(" << 3 << ")" << setprecision(3);
  DisplayFloat( );

  cout << endl << "setprecision(" << 8 << ")" << setprecision(8);
  DisplayFloat( );
}
void loop() {
}

d1 = 1.23
d2 = 12.35
d3 = 123.46
d4 = 1234.57
d5 = 12345.68

setprecision(3)
default display
d1 = 1.235
d2 = 12.346
d3 = 123.457
d4 = 1234.568
d5 = 12345.678

setprecision(8 )
default display
d1 = 1.23456776
d2 = 12.34567832
d3 = 123.45677947
d4 = 1234.56774902
d5 = 12345.67773437

thank you, very helpful! (I'm comfortable in C, but never fully explored C++.)